Subject: postscript submission Java Grande Concurrency Special Issue Resent-Date: Fri, 06 Aug 1999 22:18:31 -0400 Resent-From: Geoffrey Fox Resent-To: p_gcf@npac.syr.edu Date: Thu, 29 Jul 1999 23:33:12 -0500 (CDT) From: Tia Newhall To: gcf@npac.syr.edu hi, Below is a postscript version of our paper submission for the special Java Grande issue of Concurency. Thanks, Tia Contanct information: Tia Newhall Department of Computer Sciences University of Wisconsin-Madison 1210 West Dayton Street Madison, WI 53706 USA email: newhall@cs.wisc.edu phone: +1 (608) 263-6658 fax: +1 (608) 262-9777 %!PS-Adobe-3.0 %%BoundingBox: (atend) %%Pages: (atend) %%PageOrder: (atend) %%DocumentFonts: (atend) %%DocumentNeedsFonts: (atend) %%DocumentSuppliedFonts: (atend) %%Creator: Frame 5.5 %%DocumentData: Clean7Bit %%EndComments %%BeginProlog % % Frame ps_prolog 5.5, for use with Adobe Unix Frame 5.5 products % % This ps_prolog file is Copyright (c) 1986-1996 Adobe Systems, Incoporated. % All rights reserved. This ps_prolog file may be freely copied and % distributed in conjunction with documents created using FrameMaker, % FrameMaker+SGML, FrameReader, and FrameViewer as long as this % copyright notice is preserved. /FMDocSave save def % % FrameMaker users specify the proper paper size for each print job in the % "Print" dialog's "Printer Paper Size" "Width" and "Height~ fields. If the % printer that the PS file is sent to does not support the requested paper % size, or if there is no paper tray of the proper size currently installed, % then the job will not be printed. The following flag, if set to true, will % cause the job to print on the default paper in such cases. /FMAllowPaperSizeMismatch false def % % Frame products normally print colors as their true color on a color printer % or as shades of gray, based on luminance, on a black-and white printer. The % following flag, if set to true, forces all non-white colors to print as pure % black. This has no effect on bitmap images. /FMPrintAllColorsAsBlack false def % % Frame products can either set their own line screens or use a printer's % default settings. Three flags below control this separately for no % separations, spot separations and process separations. If a flag % is true, then the default printer settings will not be changed. If it is % false, Frame products will use their own settings from a table based on % the printer's resolution. /FMUseDefaultNoSeparationScreen true def /FMUseDefaultSpotSeparationScreen true def /FMUseDefaultProcessSeparationScreen false def % % For any given PostScript printer resolution, Frame products have two sets of % screen angles and frequencies for printing process separations, which are % recomended by Adobe. The following variable chooses the higher frequencies % when set to true or the lower frequencies when set to false. This is only % effective if the appropriate FMUseDefault...SeparationScreen flag is false. /FMUseHighFrequencyScreens true def % % The following is a set of predefined optimal frequencies and angles for various % common dpi settings. This is taken from "Advances in Color Separation Using % PostScript Software Technology," from Adobe Systems (3/13/89 P.N. LPS 0043) % and corrolated with information which is in various PPD (4.0) files. % % The "dpiranges" figure is the minimum dots per inch device resolution which % can support this setting. The "low" and "high" values are controlled by the % setting of the FMUseHighFrequencyScreens flag above. The "TDot" flags control % the use of the "Yellow Triple Dot" feature whereby the frequency id divided by % three, but the dot function is "trippled" giving a block of 3x3 dots per cell. % % PatFreq is a compromise pattern frequency for ps Level 2 printers which is close % to the ideal WYSIWYG pattern frequency of 9 repetitions/inch but does not beat % (too badly) against the screen frequencies of any separations for that DPI. /dpiranges [ 2540 2400 1693 1270 1200 635 600 0 ] def /CMLowFreqs [ 100.402 94.8683 89.2289 100.402 94.8683 66.9349 63.2456 47.4342 ] def /YLowFreqs [ 95.25 90.0 84.65 95.25 90.0 70.5556 66.6667 50.0 ] def /KLowFreqs [ 89.8026 84.8528 79.8088 89.8026 84.8528 74.8355 70.7107 53.033 ] def /CLowAngles [ 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 ] def /MLowAngles [ 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 ] def /YLowTDot [ true true false true true false false false ] def /CMHighFreqs [ 133.87 126.491 133.843 108.503 102.523 100.402 94.8683 63.2456 ] def /YHighFreqs [ 127.0 120.0 126.975 115.455 109.091 95.25 90.0 60.0 ] def /KHighFreqs [ 119.737 113.137 119.713 128.289 121.218 89.8026 84.8528 63.6395 ] def /CHighAngles [ 71.5651 71.5651 71.5651 70.0169 70.0169 71.5651 71.5651 71.5651 ] def /MHighAngles [ 18.4349 18.4349 18.4349 19.9831 19.9831 18.4349 18.4349 18.4349 ] def /YHighTDot [ false false true false false true true false ] def /PatFreq [ 10.5833 10.0 9.4055 10.5833 10.0 10.5833 10.0 9.375 ] def % % PostScript Level 2 printers contain an "Accurate Screens" feature which can % improve process separation rendering at the expense of compute time. This % flag is ignored by PostScript Level 1 printers. /FMUseAcccurateScreens true def % % The following PostScript procedure defines the spot function that Frame % products will use for process separations. You may un-comment-out one of % the alternative functions below, or use your own. % % Dot function /FMSpotFunction {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 sub } {dup mul exch dup mul add 1 exch sub }ifelse } def % % Line function % /FMSpotFunction { pop } def % % Elipse function % /FMSpotFunction { dup 5 mul 8 div mul exch dup mul exch add % sqrt 1 exch sub } def % % /FMversion (5.5) def /fMLevel1 /languagelevel where {pop languagelevel} {1} ifelse 2 lt def /FMPColor fMLevel1 { false /colorimage where {pop pop true} if } { true } ifelse def /FrameDict 400 dict def systemdict /errordict known not {/errordict 10 dict def errordict /rangecheck {stop} put} if % The readline in PS 23.0 doesn't recognize cr's as nl's on AppleTalk FrameDict /tmprangecheck errordict /rangecheck get put errordict /rangecheck {FrameDict /bug true put} put FrameDict /bug false put mark % Some PS machines read past the CR, so keep the following 3 lines together! currentfile 5 string readline 00 0000000000 cleartomark errordict /rangecheck FrameDict /tmprangecheck get put FrameDict /bug get { /readline { /gstring exch def /gfile exch def /gindex 0 def { gfile read pop dup 10 eq {exit} if dup 13 eq {exit} if gstring exch gindex exch put /gindex gindex 1 add def } loop pop gstring 0 gindex getinterval true } bind def } if /FMshowpage /showpage load def /FMquit /quit load def /FMFAILURE { 2 copy exch = = flush FMshowpage /Helvetica findfont 12 scalefont setfont 72 200 moveto show 72 220 moveto show FMshowpage FMquit } def /FMVERSION { FMversion ne { (Adobe Frame product version does not match ps_prolog! Check installation;) (also check ~/fminit and ./fminit for old versions) FMFAILURE } if } def /fmConcatProcs { /proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx }def FrameDict begin [ /ALDsave /FMdicttop /FMoptop /FMpointsize /FMsetsize /FMsaveobject /b /bitmapsave /blut /bpside /bs /bstring /bwidth /c /cf /cs /cynu /depth /edown /fh /fillvals /fw /fx /fy /g /gfile /gindex /grnt /gryt /gstring /height /hh /i /im /indx /is /k /kk /landscape /lb /len /llx /lly /m /magu /manualfeed /n /offbits /onbits /organgle /orgbangle /orgbfreq /orgbproc /orgbxfer /orgfreq /orggangle /orggfreq /orggproc /orggxfer /orghalftone /orgmatrix /orgproc /orgrangle /orgrfreq /orgrproc /orgrxfer /orgxfer /pagesave /paperheight /papersizedict /paperwidth /pos /pwid /r /rad /redt /sl /str /tran /u /urx /ury /val /width /width /ws /ww /x /x1 /x2 /xindex /xpoint /xscale /xx /y /y1 /y2 /yelu /yindex /ypoint /yscale /yy /tintGray ] { 0 def } forall /FmBD {bind def} bind def systemdict /pdfmark known systemdict /currentdistillerparams known and { /fMAcrobat true def /FmPD /pdfmark load def /FmPT /show load def currentdistillerparams /CoreDistVersion get 2000 ge { /FmPD2 /pdfmark load def % % Procedure /FmPA defines named destinations. % In order to accommodate all possible scenarios, FrameMaker defines named destinations % for each paragraph, which allows links to arbitrary points in already generated % PDF documents. This feature may cause larger PDF files to be created. % The fmCG flag tells Distiller whether to create named destinations for each % paragraph. This prolog defines two versions of this flag. One of these versions must be % commented out, and the other must be uncommented. % % The following fmCG flag will cause Distiller to create a named destination for % each paragraph. % /fmCG { false } FmBD % % The following fmCG flag will cause Distiller to create a named destination only % for each paragraph known to be a destination. If you do not want Distiller to create % named destinations for each paragraph (thus creating smaller sized PDF documents), % uncomment the following statement and comment out the previous statement. % CAUTION: By making the following statement active, you may lose some links in the % resulting PDF documents. % %%/fmCG { dup 127 string cvs 0 get (G) 0 get eq } FmBD % /FmND { mark exch /Dest exch 5 3 roll /View [ /XYZ 5 -2 roll FmDC null ] /DEST FmPD }FmBD /FmPA { fmCG { pop pop pop } { FmND } ifelse } FmBD } { /FmPD2 /cleartomark load def /FmPA {pop pop pop}FmBD /FmND {pop pop pop}FmBD } ifelse } { /fMAcrobat false def /FmPD /cleartomark load def /FmPD2 /cleartomark load def /FmPT /pop load def /FmPA {pop pop pop}FmBD /FmND {pop pop pop}FmBD } ifelse /FmDC { transform fMDefaultMatrix defaultmatrix itransform cvi exch cvi exch }FmBD /FmBx { dup 3 index lt {3 1 roll exch} if 1 index 4 index lt {4 -1 roll 3 1 roll exch 4 1 roll} if }FmBD /FMnone 0 def /FMcyan 1 def /FMmagenta 2 def /FMyellow 3 def /FMblack 4 def /FMcustom 5 def /fMNegative false def /FrameSepIs FMnone def /FrameSepBlack 0 def /FrameSepYellow 0 def /FrameSepMagenta 0 def /FrameSepCyan 0 def /FrameSepRed 1 def /FrameSepGreen 1 def /FrameSepBlue 1 def /FrameCurGray 1 def /FrameCurPat null def /FrameCurColors [ 0 0 0 1 0 0 0 1] def /FrameColorEpsilon .001 def /eqepsilon { sub dup 0 lt {neg} if FrameColorEpsilon le } bind def /FrameCmpColorsCMYK { 2 copy 0 get exch 0 get eqepsilon { 2 copy 1 get exch 1 get eqepsilon { 2 copy 2 get exch 2 get eqepsilon { 3 get exch 3 get eqepsilon } {pop pop false} ifelse }{pop pop false} ifelse } {pop pop false} ifelse } bind def /FrameCmpColorsRGB { 2 copy 4 get exch 0 get eqepsilon { 2 copy 5 get exch 1 get eqepsilon { 6 get exch 2 get eqepsilon }{pop pop false} ifelse } {pop pop false} ifelse } bind def /RGBtoCMYK { 1 exch sub 3 1 roll 1 exch sub 3 1 roll 1 exch sub 3 1 roll 3 copy 2 copy le { pop } { exch pop } ifelse 2 copy le { pop } { exch pop } ifelse dup dup dup 6 1 roll 4 1 roll 7 1 roll sub 6 1 roll sub 5 1 roll sub 4 1 roll } bind def /CMYKtoRGB { dup dup 4 -1 roll add 5 1 roll 3 -1 roll add 4 1 roll add 1 exch sub dup 0 lt {pop 0} if 3 1 roll 1 exch sub dup 0 lt {pop 0} if exch 1 exch sub dup 0 lt {pop 0} if exch } bind def /FrameSepInit { 1.0 RealSetgray } bind def /FrameSetSepColor { /FrameSepBlue exch def /FrameSepGreen exch def /FrameSepRed exch def /FrameSepBlack exch def /FrameSepYellow exch def /FrameSepMagenta exch def /FrameSepCyan exch def /FrameSepIs FMcustom def setCurrentScreen } bind def /FrameSetCyan { /FrameSepBlue 1.0 def /FrameSepGreen 1.0 def /FrameSepRed 0.0 def /FrameSepBlack 0.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 1.0 def /FrameSepIs FMcyan def setCurrentScreen } bind def /FrameSetMagenta { /FrameSepBlue 1.0 def /FrameSepGreen 0.0 def /FrameSepRed 1.0 def /FrameSepBlack 0.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 1.0 def /FrameSepCyan 0.0 def /FrameSepIs FMmagenta def setCurrentScreen } bind def /FrameSetYellow { /FrameSepBlue 0.0 def /FrameSepGreen 1.0 def /FrameSepRed 1.0 def /FrameSepBlack 0.0 def /FrameSepYellow 1.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 0.0 def /FrameSepIs FMyellow def setCurrentScreen } bind def /FrameSetBlack { /FrameSepBlue 0.0 def /FrameSepGreen 0.0 def /FrameSepRed 0.0 def /FrameSepBlack 1.0 def /FrameSepYellow 0.0 def /FrameSepMagenta 0.0 def /FrameSepCyan 0.0 def /FrameSepIs FMblack def setCurrentScreen } bind def /FrameNoSep { /FrameSepIs FMnone def setCurrentScreen } bind def /FrameSetSepColors { FrameDict begin [ exch 1 add 1 roll ] /FrameSepColors exch def end } bind def /FrameColorInSepListCMYK { FrameSepColors { exch dup 3 -1 roll FrameCmpColorsCMYK { pop true exit } if } forall dup true ne {pop false} if } bind def /FrameColorInSepListRGB { FrameSepColors { exch dup 3 -1 roll FrameCmpColorsRGB { pop true exit } if } forall dup true ne {pop false} if } bind def /RealSetgray /setgray load def /RealSetrgbcolor /setrgbcolor load def /RealSethsbcolor /sethsbcolor load def end /setgray { FrameDict begin FrameSepIs FMnone eq { RealSetgray } { FrameSepIs FMblack eq { RealSetgray } { FrameSepIs FMcustom eq FrameSepRed 0 eq and FrameSepGreen 0 eq and FrameSepBlue 0 eq and { RealSetgray } { 1 RealSetgray pop } ifelse } ifelse } ifelse end } bind def /setrgbcolor { FrameDict begin FrameSepIs FMnone eq { RealSetrgbcolor } { 3 copy [ 4 1 roll ] FrameColorInSepListRGB { FrameSepBlue eq exch FrameSepGreen eq and exch FrameSepRed eq and { 0 } { 1 } ifelse } { FMPColor { RealSetrgbcolor currentcmykcolor } { RGBtoCMYK } ifelse FrameSepIs FMblack eq {1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse RealSetgray } ifelse end } bind def /sethsbcolor { FrameDict begin FrameSepIs FMnone eq { RealSethsbcolor } { RealSethsbcolor currentrgbcolor setrgbcolor } ifelse end } bind def FrameDict begin /setcmykcolor where { pop /RealSetcmykcolor /setcmykcolor load def } { /RealSetcmykcolor { 4 1 roll 3 { 3 index add 0 max 1 min 1 exch sub 3 1 roll} repeat RealSetrgbcolor pop } bind def } ifelse userdict /setcmykcolor { FrameDict begin FrameSepIs FMnone eq { RealSetcmykcolor } { 4 copy [ 5 1 roll ] FrameColorInSepListCMYK { FrameSepBlack eq exch FrameSepYellow eq and exch FrameSepMagenta eq and exch FrameSepCyan eq and { 0 } { 1 } ifelse } { FrameSepIs FMblack eq {1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse RealSetgray } ifelse end } bind put fMLevel1 { /patScreenDict 7 dict dup begin <0f1e3c78f0e1c387> [ 45 { pop } {exch pop} .5 2 sqrt] FmBD <0f87c3e1f0783c1e> [ 135 { pop } {exch pop} .5 2 sqrt] FmBD [ 0 { pop } dup .5 2 ] FmBD [ 90 { pop } dup .5 2 ] FmBD <8142241818244281> [ 45 { 2 copy lt {exch} if pop} dup .75 2 sqrt] FmBD <03060c183060c081> [ 45 { pop } {exch pop} .875 2 sqrt] FmBD <8040201008040201> [ 135 { pop } {exch pop} .875 2 sqrt] FmBD end def } { /patProcDict 5 dict dup begin <0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke 4 -4 moveto 12 4 lineto stroke -4 4 moveto 4 12 lineto stroke} bind def <0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke -4 4 moveto 4 -4 lineto stroke 4 12 moveto 12 4 lineto stroke} bind def <8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke -1 -1 moveto 9 9 lineto stroke } bind def <03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke 4 -4 moveto 12 4 lineto stroke -4 4 moveto 4 12 lineto stroke} bind def <8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke -4 4 moveto 4 -4 lineto stroke 4 12 moveto 12 4 lineto stroke} bind def end def /patDict 15 dict dup begin /PatternType 1 def /PaintType 2 def /TilingType 3 def /BBox [ 0 0 8 8 ] def /XStep 8 def /YStep 8 def /PaintProc { begin patProcDict bstring known { patProcDict bstring get exec } { 8 8 true [1 0 0 -1 0 8] bstring imagemask } ifelse end } bind def end def } ifelse /tintCMYK { 1 tintGray sub FrameCurColors 0 4 getinterval aload pop 4 index mul 5 1 roll 3 index mul 5 1 roll 2 index mul 5 1 roll mul 4 1 roll }bind def /tintRGB { 1 tintGray sub FrameCurColors 4 3 getinterval aload pop 1 exch sub 3 index mul 1 exch sub 4 1 roll 1 exch sub 2 index mul 1 exch sub 4 1 roll 1 exch sub mul 1 exch sub 3 1 roll }bind def /combineColor { /tintGray 1 1 FrameCurGray sub FrameCurColors 7 get mul sub def FrameSepIs FMnone eq { graymode fMLevel1 or not { [/Pattern [/DeviceCMYK]] setcolorspace tintCMYK FrameCurPat setcolor } { FrameCurColors 3 get 1.0 ge { tintGray RealSetgray } { fMAcrobat not FMPColor graymode and and { tintCMYK RealSetcmykcolor } { tintRGB RealSetrgbcolor } ifelse } ifelse } ifelse } { FrameCurColors 0 4 getinterval aload FrameColorInSepListCMYK { FrameSepBlack eq exch FrameSepYellow eq and exch FrameSepMagenta eq and exch FrameSepCyan eq and FrameSepIs FMcustom eq and { tintGray } { 1 } ifelse } { FrameSepIs FMblack eq {tintGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} { FrameSepIs FMyellow eq {pop tintGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} { FrameSepIs FMmagenta eq {pop pop tintGray 1.0 exch sub mul 1.0 exch sub exch pop } { FrameSepIs FMcyan eq {pop pop pop tintGray 1.0 exch sub mul 1.0 exch sub } {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse } ifelse graymode fMLevel1 or not { [/Pattern [/DeviceGray]] setcolorspace FrameCurPat setcolor } { graymode not fMLevel1 and { dup 1 lt {pop FrameCurGray} if } if RealSetgray } ifelse } ifelse } bind def /savematrix { orgmatrix currentmatrix pop } bind def /restorematrix { orgmatrix setmatrix } bind def /fMDefaultMatrix matrix def /fMatrix2 matrix def /dpi 72 0 fMDefaultMatrix defaultmatrix dtransform dup mul exch dup mul add sqrt def /freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def /sangle 1 0 fMDefaultMatrix defaultmatrix dtransform exch atan def sangle fMatrix2 rotate fMDefaultMatrix defaultmatrix fMatrix2 concatmatrix dup 0 get /sflipx exch def 3 get /sflipy exch def /screenIndex { 0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for } bind def /getCyanScreen { FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load } bind def /getMagentaScreen { FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load } bind def /getYellowScreen { FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse screenIndex dup 3 1 roll get 3 1 roll get { 3 div {2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat FMSpotFunction } } {/FMSpotFunction load } ifelse 0.0 exch } bind def /getBlackScreen { FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse screenIndex get 45.0 /FMSpotFunction load } bind def /getSpotScreen { getBlackScreen } bind def /getCompositeScreen { getBlackScreen } bind def /FMSetScreen fMLevel1 { /setscreen load }{ { 8 dict begin /HalftoneType 1 def /SpotFunction exch def /Angle exch def /Frequency exch def /AccurateScreens FMUseAcccurateScreens def currentdict end sethalftone } bind } ifelse def /setDefaultScreen { fMLevel1 { FMPColor { orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer } { orgxfer cvx settransfer } ifelse orgfreq organgle orgproc cvx setscreen } { orghalftone sethalftone }ifelse } bind def /setCurrentScreen { FrameSepIs FMnone eq { FMUseDefaultNoSeparationScreen { setDefaultScreen } { getCompositeScreen FMSetScreen } ifelse } { FrameSepIs FMcustom eq { FMUseDefaultSpotSeparationScreen { setDefaultScreen } { getSpotScreen FMSetScreen } ifelse } { FMUseDefaultProcessSeparationScreen { setDefaultScreen } { FrameSepIs FMcyan eq { getCyanScreen FMSetScreen } { FrameSepIs FMmagenta eq { getMagentaScreen FMSetScreen } { FrameSepIs FMyellow eq { getYellowScreen FMSetScreen } { getBlackScreen FMSetScreen } ifelse } ifelse } ifelse } ifelse } ifelse } ifelse } bind def end /FMDOCUMENT { array /FMfonts exch def dup 1 gt {/#copies exch def} {pop} ifelse FrameDict begin 0 ne /manualfeed exch def /paperheight exch def /paperwidth exch def 0 ne /fMNegative exch def 0 ne /edown exch def /yscale exch def /xscale exch def fMLevel1 { manualfeed {setmanualfeed} if /FMdicttop countdictstack 1 add def /FMoptop count def setpapername manualfeed {true} {papersize} ifelse {manualpapersize} {false} ifelse {desperatepapersize} {false} ifelse {papersizefailure} if count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for } {2 dict dup /PageSize [paperwidth paperheight] put manualfeed {dup /ManualFeed manualfeed put} if {setpagedevice} stopped {papersizefailure} if } ifelse fMLevel1 not { /orghalftone currenthalftone def }if FMPColor { currentcolorscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def cvlit /orgbproc exch def /orgbangle exch def /orgbfreq exch def cvlit /orggproc exch def /orggangle exch def /orggfreq exch def cvlit /orgrproc exch def /orgrangle exch def /orgrfreq exch def currentcolortransfer fMNegative { 1 1 4 { pop { 1 exch sub } fmConcatProcs 4 1 roll } for 4 copy setcolortransfer } if cvlit /orgxfer exch def cvlit /orgbxfer exch def cvlit /orggxfer exch def cvlit /orgrxfer exch def } { currentscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def currenttransfer fMNegative { { 1 exch sub } fmConcatProcs dup settransfer } if cvlit /orgxfer exch def } ifelse end } def /FMENDDOCUMENT { FMDocSave restore } def /FMBEGINPAGE { FrameDict begin /pagesave save def 3.86 setmiterlimit 0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto 0 paperheight lineto 0 0 lineto 1 setgray fill /landscape exch 0 ne def landscape { 90 rotate 0 exch dup /pwid exch def neg translate pop }{ pop /pwid exch def } ifelse edown { [-1 0 0 1 pwid 0] concat } if xscale yscale scale /orgmatrix matrix def gsave } def /FMENDPAGE { grestore pagesave restore end showpage } def /FMFONTDEFINE { FrameDict begin findfont ReEncode 1 index exch definefont FMfonts 3 1 roll put end } def /FMFILLS { FrameDict begin dup array /fillvals exch def dict /patCache exch def end } def /FMFILL { FrameDict begin fillvals 3 1 roll put end } def /FMNORMALIZEGRAPHICS { newpath 1 setlinewidth 0 setlinecap 0 0 0 sethsbcolor 0 setgray } bind def /FMBEGINEPSF { end /FMEPSF save def /showpage {} def FMNORMALIZEGRAPHICS [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall fx fw 2 div add fy fh 2 div add translate rotate fw 2 div neg fh 2 div neg translate fw urx llx sub div fh ury lly sub div scale llx neg lly neg translate /FMdicttop countdictstack 1 add def /FMoptop count def } bind def /FMENDEPSF { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMEPSF restore FrameDict begin } bind def FrameDict begin /setmanualfeed { %%BeginFeature: *ManualFeed True statusdict /manualfeed true put %%EndFeature } bind def /max {2 copy lt {exch} if pop} bind def /min {2 copy gt {exch} if pop} bind def /inch {72 mul} def /pagedimen { paperheight sub abs 16 lt exch paperwidth sub abs 16 lt and {/papername exch def} {pop} ifelse } bind def /setpapername { /papersizedict 14 dict def papersizedict begin /papername /unknown def /Letter 8.5 inch 11.0 inch pagedimen /LetterSmall 7.68 inch 10.16 inch pagedimen /Tabloid 11.0 inch 17.0 inch pagedimen /Ledger 17.0 inch 11.0 inch pagedimen /Legal 8.5 inch 14.0 inch pagedimen /Statement 5.5 inch 8.5 inch pagedimen /Executive 7.5 inch 10.0 inch pagedimen /A3 11.69 inch 16.5 inch pagedimen /A4 8.26 inch 11.69 inch pagedimen /A4Small 7.47 inch 10.85 inch pagedimen /B4 10.125 inch 14.33 inch pagedimen /B5 7.16 inch 10.125 inch pagedimen end } bind def /papersize { papersizedict begin /Letter {lettertray letter} def /LetterSmall {lettertray lettersmall} def /Tabloid {11x17tray 11x17} def /Ledger {ledgertray ledger} def /Legal {legaltray legal} def /Statement {statementtray statement} def /Executive {executivetray executive} def /A3 {a3tray a3} def /A4 {a4tray a4} def /A4Small {a4tray a4small} def /B4 {b4tray b4} def /B5 {b5tray b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end statusdict begin stopped end } bind def /manualpapersize { papersizedict begin /Letter {letter} def /LetterSmall {lettersmall} def /Tabloid {11x17} def /Ledger {ledger} def /Legal {legal} def /Statement {statement} def /Executive {executive} def /A3 {a3} def /A4 {a4} def /A4Small {a4small} def /B4 {b4} def /B5 {b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end stopped } bind def /desperatepapersize { mark statusdict begin /setpageparams where { pop paperwidth paperheight 0 1 {setpageparams} stopped } { true } ifelse { /setpagedevice where { pop 1 dict dup begin /PageSize [ paperwidth paperheight ] def end {setpagedevice} stopped } { true } ifelse } { false } ifelse end {cleartomark true}{cleartomark false}ifelse } bind def /papersizefailure { FMAllowPaperSizeMismatch not { (The requested paper size is not available in any currently-installed tray) (Edit the PS file to "FMAllowPaperSizeMismatch true" to use default tray) FMFAILURE } if } def /DiacriticEncoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis /dagger /.notdef /cent /sterling /section /bullet /paragraph /germandbls /registered /copyright /trademark /acute /dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef /yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown /exclamdown /logicalnot /.notdef /florin /.notdef /.notdef /guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde /Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron ] def /ReEncode { dup length dict begin { 1 index /FID ne {def} {pop pop} ifelse } forall 0 eq {/Encoding DiacriticEncoding def} if currentdict end } bind def FMPColor { /BEGINBITMAPCOLOR { BITMAPCOLOR} def /BEGINBITMAPCOLORc { BITMAPCOLORc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUECOLOR } def /BEGINBITMAPTRUECOLORc { BITMAPTRUECOLORc } def /BEGINBITMAPCMYK { BITMAPCMYK } def /BEGINBITMAPCMYKc { BITMAPCMYKc } def } { /BEGINBITMAPCOLOR { BITMAPGRAY} def /BEGINBITMAPCOLORc { BITMAPGRAYc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUEGRAY } def /BEGINBITMAPTRUECOLORc { BITMAPTRUEGRAYc } def /BEGINBITMAPCMYK { BITMAPCMYKGRAY } def /BEGINBITMAPCMYKc { BITMAPCMYKGRAYc } def } ifelse /K { FMPrintAllColorsAsBlack { 8 1 roll dup 1 eq 2 index 1 eq and 3 index 1 eq and not {7 {pop} repeat 0 0 0 1 0 0 0} if 8 -1 roll } if FrameCurColors astore pop combineColor } bind def /graymode true def fMLevel1 { /fmGetFlip { fMatrix2 exch get mul 0 lt { -1 } { 1 } ifelse } FmBD } if /setPatternMode { fMLevel1 { 2 index patScreenDict exch known { pop pop patScreenDict exch get aload pop freq mul 5 2 roll fMatrix2 currentmatrix 1 get 0 ne { 3 -1 roll 90 add 3 1 roll sflipx 1 fmGetFlip sflipy 2 fmGetFlip neg mul } { sflipx 0 fmGetFlip sflipy 3 fmGetFlip mul } ifelse 0 lt {exch pop} {pop} ifelse fMNegative { {neg} fmConcatProcs } if bind systemdict /setscreen get exec /FrameCurGray exch def } { /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def freq sangle landscape {90 add} if {/ypoint exch def /xpoint exch def /xindex xpoint 1 add 2 div bpside mul cvi def /yindex ypoint 1 add 2 div bpside mul cvi def bstring yindex bwidth mul xindex 8 idiv add get 1 7 xindex 8 mod sub bitshift and 0 ne fMNegative {not} if {/onbits onbits 1 add def 1} {/offbits offbits 1 add def 0} ifelse } setscreen offbits offbits onbits add dup 0 ne {div} {pop pop .5} ifelse fMNegative {1.0 exch sub} if /FrameCurGray exch def } ifelse } { pop pop dup patCache exch known { patCache exch get } { dup patDict /bstring 3 -1 roll put patDict 9 PatFreq screenIndex get div dup matrix scale makepattern dup patCache 4 -1 roll 3 -1 roll put } ifelse /FrameCurGray 0 def /FrameCurPat exch def } ifelse /graymode false def combineColor } bind def /setGrayScaleMode { graymode not { /graymode true def fMLevel1 { setCurrentScreen } if } if /FrameCurGray exch def combineColor } bind def /normalize { transform round exch round exch itransform } bind def /dnormalize { dtransform round exch round exch idtransform } bind def /lnormalize { 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop } bind def /H { lnormalize setlinewidth } bind def /Z { setlinecap } bind def /PFill { graymode fMLevel1 or not { gsave 1 setgray eofill grestore } if } bind def /PStroke { graymode fMLevel1 or not { gsave 1 setgray stroke grestore } if stroke } bind def /X { fillvals exch get dup type /stringtype eq {8 1 setPatternMode} {setGrayScaleMode} ifelse } bind def /V { PFill gsave eofill grestore } bind def /Vclip { clip } bind def /Vstrk { currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /N { PStroke } bind def /Nclip { strokepath clip newpath } bind def /Nstrk { currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /M {newpath moveto} bind def /E {lineto} bind def /D {curveto} bind def /O {closepath} bind def /L { /n exch def newpath normalize moveto 2 1 n {pop normalize lineto} for } bind def /Y { L closepath } bind def /R { /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 y1 x2 y1 x2 y2 x1 y2 4 Y } bind def /rarc {rad arcto } bind def /RR { /rad exch def normalize /y2 exch def /x2 exch def normalize /y1 exch def /x1 exch def mark newpath { x1 y1 rad add moveto x1 y2 x2 y2 rarc x2 y2 x2 y1 rarc x2 y1 x1 y1 rarc x1 y1 x1 y2 rarc closepath } stopped {x1 y1 x2 y2 R} if cleartomark } bind def /RRR { /rad exch def normalize /y4 exch def /x4 exch def normalize /y3 exch def /x3 exch def normalize /y2 exch def /x2 exch def normalize /y1 exch def /x1 exch def newpath normalize moveto mark { x2 y2 x3 y3 rarc x3 y3 x4 y4 rarc x4 y4 x1 y1 rarc x1 y1 x2 y2 rarc closepath } stopped {x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if cleartomark } bind def /C { grestore gsave R clip setCurrentScreen } bind def /CP { grestore gsave Y clip setCurrentScreen } bind def /F { FMfonts exch get [FMsetsize 0 0 FMpointsize 0 0] makefont setfont } bind def /Q { /FMpointsize exch def /FMsetsize FMpointsize def F } bind def /QQ { /FMsetsize exch def /FMpointsize exch def F } bind def /T { moveto show } bind def /RF { rotate 0 ne {-1 1 scale} if } bind def /TF { gsave moveto RF show grestore } bind def /P { moveto 0 32 3 2 roll widthshow } bind def /PF { gsave moveto RF 0 32 3 2 roll widthshow grestore } bind def /S { moveto 0 exch ashow } bind def /SF { gsave moveto RF 0 exch ashow grestore } bind def /B { moveto 0 32 4 2 roll 0 exch awidthshow } bind def /BF { gsave moveto RF 0 32 4 2 roll 0 exch awidthshow grestore } bind def /G { gsave newpath normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath PFill fill grestore } bind def /Gstrk { savematrix newpath 2 index 2 div add exch 3 index 2 div sub exch normalize 2 index 2 div sub exch 3 index 2 div add exch translate scale 0.0 0.0 1.0 5 3 roll arc restorematrix currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /Gclip { newpath savematrix normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath clip newpath restorematrix } bind def /GG { gsave newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath PFill fill grestore } bind def /GGclip { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath clip newpath restorematrix } bind def /GGstrk { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath restorematrix currentlinewidth exch setlinewidth PStroke setlinewidth } bind def /A { gsave savematrix newpath 2 index 2 div add exch 3 index 2 div sub exch normalize 2 index 2 div sub exch 3 index 2 div add exch translate scale 2 copy 0.0 0.0 1.0 5 3 roll arc round cvi 360 mod exch round cvi 360 mod eq {closepath} if restorematrix PStroke grestore } bind def /Aclip { newpath savematrix normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath strokepath clip newpath restorematrix } bind def /Astrk { Gstrk } bind def /AA { gsave savematrix newpath 3 index 2 div add exch 4 index 2 div sub exch normalize 3 index 2 div sub exch 4 index 2 div add exch translate rotate scale 0.0 0.0 1.0 5 3 roll arc restorematrix PStroke grestore } bind def /AAclip { savematrix newpath normalize translate 0.0 0.0 moveto rotate dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath strokepath clip newpath restorematrix } bind def /AAstrk { GGstrk } bind def /BEGINPRINTCODE { /FMdicttop countdictstack 1 add def /FMoptop count 7 sub def /FMsaveobject save def userdict begin /showpage {} def FMNORMALIZEGRAPHICS 3 index neg 3 index neg translate } bind def /ENDPRINTCODE { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMsaveobject restore } bind def /gn { 0 { 46 mul cf read pop 32 sub dup 46 lt {exit} if 46 sub add } loop add } bind def /cfs { /str sl string def 0 1 sl 1 sub {str exch val put} for str def } bind def /ic [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx} {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx} {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh} {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh} {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl} {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl} {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl} {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl} ] def /ms { /sl exch def /val 255 def /ws cfs /im cfs /val 0 def /bs cfs /cs cfs } bind def 400 ms /ip { is 0 cf cs readline pop { ic exch get exec add } forall pop } bind def /rip { bis ris copy pop is 0 cf cs readline pop { ic exch get exec add } forall pop pop ris gis copy pop dup is exch cf cs readline pop { ic exch get exec add } forall pop pop gis bis copy pop dup add is exch cf cs readline pop { ic exch get exec add } forall pop } bind def /rip4 { kis cis copy pop is 0 cf cs readline pop { ic exch get exec add } forall pop pop cis mis copy pop dup is exch cf cs readline pop { ic exch get exec add } forall pop pop mis yis copy pop dup dup add is exch cf cs readline pop { ic exch get exec add } forall pop pop yis kis copy pop 3 mul is exch cf cs readline pop { ic exch get exec add } forall pop } bind def /wh { /len exch def /pos exch def ws 0 len getinterval im pos len getinterval copy pop pos len } bind def /bl { /len exch def /pos exch def bs 0 len getinterval im pos len getinterval copy pop pos len } bind def /s1 1 string def /fl { /len exch def /pos exch def /val cf s1 readhexstring pop 0 get def pos 1 pos len add 1 sub {im exch val put} for pos len } bind def /hx { 3 copy getinterval cf exch readhexstring pop pop } bind def /wbytes { dup dup 8 gt { pop 8 idiv mul } { 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse } bind def /BEGINBITMAPBWc { 1 {} COMMONBITMAPc } bind def /BEGINBITMAPGRAYc { 8 {} COMMONBITMAPc } bind def /BEGINBITMAP2BITc { 2 {} COMMONBITMAPc } bind def /COMMONBITMAPc { /cvtProc exch def /depth exch def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def cvtProc /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height depth [width 0 0 height neg 0 height] {ip} image bitmapsave restore grestore } bind def /BEGINBITMAPBW { 1 {} COMMONBITMAP } bind def /BEGINBITMAPGRAY { 8 {} COMMONBITMAP } bind def /BEGINBITMAP2BIT { 2 {} COMMONBITMAP } bind def /COMMONBITMAP { /cvtProc exch def /depth exch def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def cvtProc /is width depth wbytes string def /cf currentfile def width height depth [width 0 0 height neg 0 height] {cf is readhexstring pop} image bitmapsave restore grestore } bind def /ngrayt 256 array def /nredt 256 array def /nbluet 256 array def /ngreent 256 array def fMLevel1 { /colorsetup { currentcolortransfer /gryt exch def /blut exch def /grnt exch def /redt exch def 0 1 255 { /indx exch def /cynu 1 red indx get 255 div sub def /magu 1 green indx get 255 div sub def /yelu 1 blue indx get 255 div sub def /kk cynu magu min yelu min def /u kk currentundercolorremoval exec def % /u 0 def nredt indx 1 0 cynu u sub max sub redt exec put ngreent indx 1 0 magu u sub max sub grnt exec put nbluet indx 1 0 yelu u sub max sub blut exec put ngrayt indx 1 kk currentblackgeneration exec sub gryt exec put } for {255 mul cvi nredt exch get} {255 mul cvi ngreent exch get} {255 mul cvi nbluet exch get} {255 mul cvi ngrayt exch get} setcolortransfer {pop 0} setundercolorremoval {} setblackgeneration } bind def } { /colorSetup2 { [ /Indexed /DeviceRGB 255 {dup red exch get 255 div exch dup green exch get 255 div exch blue exch get 255 div} ] setcolorspace } bind def } ifelse /fakecolorsetup { /tran 256 string def 0 1 255 {/indx exch def tran indx red indx get 77 mul green indx get 151 mul blue indx get 28 mul add add 256 idiv put} for currenttransfer {255 mul cvi tran exch get 255.0 div} exch fmConcatProcs settransfer } bind def /BITMAPCOLOR { /depth 8 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def fMLevel1 { colorsetup /is width depth wbytes string def /cf currentfile def width height depth [width 0 0 height neg 0 height] {cf is readhexstring pop} {is} {is} true 3 colorimage } { colorSetup2 /is width depth wbytes string def /cf currentfile def 7 dict dup begin /ImageType 1 def /Width width def /Height height def /ImageMatrix [width 0 0 height neg 0 height] def /DataSource {cf is readhexstring pop} bind def /BitsPerComponent depth def /Decode [0 255] def end image } ifelse bitmapsave restore grestore } bind def /BITMAPCOLORc { /depth 8 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def fMLevel1 { colorsetup /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height depth [width 0 0 height neg 0 height] {ip} {is} {is} true 3 colorimage } { colorSetup2 /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def 7 dict dup begin /ImageType 1 def /Width width def /Height height def /ImageMatrix [width 0 0 height neg 0 height] def /DataSource {ip} bind def /BitsPerComponent depth def /Decode [0 255] def end image } ifelse bitmapsave restore grestore } bind def /BITMAPTRUECOLORc { /depth 24 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /ris im 0 width getinterval def /gis im width width getinterval def /bis im width 2 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop ris} {gis} {bis} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPCMYKc { /depth 32 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /cis im 0 width getinterval def /mis im width width getinterval def /yis im width 2 mul width getinterval def /kis im width 3 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip4 pop cis} {mis} {yis} {kis} true 4 colorimage bitmapsave restore grestore } bind def /BITMAPTRUECOLOR { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /gis width string def /bis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop } { cf gis readhexstring pop } { cf bis readhexstring pop } true 3 colorimage bitmapsave restore grestore } bind def /BITMAPCMYK { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /mis width string def /yis width string def /kis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop } { cf mis readhexstring pop } { cf yis readhexstring pop } { cf kis readhexstring pop } true 4 colorimage bitmapsave restore grestore } bind def /BITMAPTRUEGRAYc { /depth 24 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /ris im 0 width getinterval def /gis im width width getinterval def /bis im width 2 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop ris gis bis width gray} image bitmapsave restore grestore } bind def /BITMAPCMYKGRAYc { /depth 32 def gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /lb width depth wbytes def sl lb lt {lb ms} if /bitmapsave save def /is im 0 lb getinterval def /cis im 0 width getinterval def /mis im width width getinterval def /yis im width 2 mul width getinterval def /kis im width 3 mul width getinterval def ws 0 lb getinterval is copy pop /cf currentfile def width height 8 [width 0 0 height neg 0 height] {width rip pop cis mis yis kis width cgray} image bitmapsave restore grestore } bind def /cgray { /ww exch def /k exch def /y exch def /m exch def /c exch def 0 1 ww 1 sub { /i exch def c i get m i get y i get k i get CMYKtoRGB .144 mul 3 1 roll .587 mul 3 1 roll .299 mul add add c i 3 -1 roll floor cvi put } for c } bind def /gray { /ww exch def /b exch def /g exch def /r exch def 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul b i get .114 mul add add r i 3 -1 roll floor cvi put } for r } bind def /BITMAPTRUEGRAY { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /gis width string def /bis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop cf gis readhexstring pop cf bis readhexstring pop width gray} image bitmapsave restore grestore } bind def /BITMAPCMYKGRAY { gsave 3 index 2 div add exch 4 index 2 div add exch translate rotate 1 index 2 div neg 1 index 2 div neg translate scale /height exch def /width exch def /bitmapsave save def /is width string def /yis width string def /mis width string def /kis width string def /cf currentfile def width height 8 [width 0 0 height neg 0 height] { cf is readhexstring pop cf mis readhexstring pop cf yis readhexstring pop cf kis readhexstring pop width cgray} image bitmapsave restore grestore } bind def /BITMAPGRAY { 8 {fakecolorsetup} COMMONBITMAP } bind def /BITMAPGRAYc { 8 {fakecolorsetup} COMMONBITMAPc } bind def /ENDBITMAP { } bind def end /ALDmatrix matrix def ALDmatrix currentmatrix pop /StartALD { /ALDsave save def savematrix ALDmatrix setmatrix } bind def /InALD { restorematrix } bind def /DoneALD { ALDsave restore } bind def /I { setdash } bind def /J { [] 0 setdash } bind def %%EndProlog %%BeginSetup (5.5) FMVERSION 1 1 0 0 612 792 0 1 23 FMDOCUMENT %%IncludeFont: Times-Roman 0 0 /Times-Roman FMFONTDEFINE %%IncludeFont: Times-Bold 1 0 /Times-Bold FMFONTDEFINE %%IncludeFont: Courier 2 0 /Courier FMFONTDEFINE %%IncludeFont: Times-BoldItalic 3 0 /Times-BoldItalic FMFONTDEFINE %%IncludeFont: Times-Italic 4 0 /Times-Italic FMFONTDEFINE %%IncludeFont: Symbol 5 1 /Symbol FMFONTDEFINE 32 FMFILLS 0 0 FMFILL 1 0.1 FMFILL 2 0.3 FMFILL 3 0.5 FMFILL 4 0.7 FMFILL 5 0.9 FMFILL 6 0.97 FMFILL 7 1 FMFILL 8 <0f1e3c78f0e1c387> FMFILL 9 <0f87c3e1f0783c1e> FMFILL 10 FMFILL 11 FMFILL 12 <8142241818244281> FMFILL 13 <03060c183060c081> FMFILL 14 <8040201008040201> FMFILL 16 1 FMFILL 17 0.9 FMFILL 18 0.7 FMFILL 19 0.5 FMFILL 20 0.3 FMFILL 21 0.1 FMFILL 22 0.03 FMFILL 23 0 FMFILL 24 FMFILL 25 FMFILL 26 <3333333333333333> FMFILL 27 <0000ffff0000ffff> FMFILL 28 <7ebddbe7e7dbbd7e> FMFILL 29 FMFILL 30 <7fbfdfeff7fbfdfe> FMFILL %%EndSetup %%Page: "1" 1 %%BeginPaperSize: Letter %%EndPaperSize 612 792 0 FMBEGINPAGE 0 FrameSetSepColors [ /Creator (FrameMaker 5.5.6.) /Title (submitted.fr) /CreationDate (D:19950208095704) /ModDate (D:19990729230507) /DOCINFO FmPD2 FrameNoSep 0 0 0 1 0 0 0 1 K J -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 1) 513.06 749.33 T 1 15 Q (P) 105.27 710.01 T (erf) 114.14 710.01 T (ormance Measur) 132.08 710.01 T (ement of Dynamically Compiled J) 240.53 710.01 T (a) 457.79 710.01 T (v) 464.91 710.01 T (a Executions) 472.26 710.01 T 0 12 Q (T) 249.76 684.01 T (ia Ne) 256.68 684.01 T (whall and Barton P) 282.03 684.01 T (. Miller) 373.03 684.01 T 2 10 Q ({newhall,bart}@cs.wisc.edu) 251.4 669.34 T 0 F (Computer Sciences Department) 265.8 642.34 T (Uni) 280.91 629.34 T (v) 295.66 629.34 T (ersity of W) 300.51 629.34 T (isconsin) 345.1 629.34 T (Madison, WI 53706-1685) 277.6 616.34 T (USA) 319.4 603.34 T 1 12 Q (Abstract) 307.07 575.01 T 0 10 Q (With) 124.2 550.34 T (the) 147.86 550.34 T (development) 163.75 550.34 T (of) 219.07 550.34 T (dynamic) 231.07 550.34 T (compilers) 269.17 550.34 T (for) 312.28 550.34 T (Java,) 327.6 550.34 T (Java\325s) 351.54 550.34 T (performance) 380.19 550.34 T (promises) 434.39 550.34 T (to) 474.16 550.34 T (rival) 485.61 550.34 T (that) 507.6 550.34 T (of) 526.27 550.34 T (equivalent) 124.2 538.34 T (C/C++) 168.67 538.34 T (binary) 198.89 538.34 T (executions.) 227.26 538.34 T (This) 275.35 538.34 T (should) 295.95 538.34 T (ensure) 325.43 538.34 T (that) 354.35 538.34 T (Java) 372.17 538.34 T (will) 392.76 538.34 T (become) 411.14 538.34 T (the) 445.05 538.34 T (platform) 460.09 538.34 T (of) 497.35 538.34 T (choice) 508.5 538.34 T (for) 124.2 526.34 T (ubiquitous) 140.75 526.34 T (Web-based) 187.87 526.34 T (supercomputing.) 237.74 526.34 T (Therefore,) 309.57 526.34 T (being) 356.39 526.34 T (able) 383.5 526.34 T (to) 405.05 526.34 T (build) 417.72 526.34 T (performance) 443.17 526.34 T (tools) 498.59 526.34 T (for) 522.94 526.34 T (dynamically) 124.2 514.34 T (compiled) 177.03 514.34 T (Java) 217.64 514.34 T (executions) 238.81 514.34 T (will) 284.97 514.34 T (become) 303.93 514.34 T (increasingly) 338.42 514.34 T (important.) 390.7 514.34 T (In) 435.48 514.34 T (this) 447.2 514.34 T (paper) 465.05 514.34 T (we) 490.65 514.34 T (discuss) 505.71 514.34 T (those) 124.2 502.34 T (aspects) 147.98 502.34 T (of) 179.53 502.34 T (dynamically) 190.53 502.34 T (compiled) 242.64 502.34 T (Java) 282.53 502.34 T (executions) 302.97 502.34 T (that) 348.41 502.34 T (make) 366.08 502.34 T (performance) 390.41 502.34 T (measurement) 443.61 502.34 T (difficult:) 499.6 502.34 T (\0501\051) 124.2 490.34 T (some) 138.43 490.34 T (Ja) 162.11 490.34 T (v) 170.24 490.34 T (a) 174.99 490.34 T (application) 182 490.34 T (methods) 229.01 490.34 T (may) 265.47 490.34 T (be) 285.26 490.34 T (transformed) 297.27 490.34 T (from) 348.16 490.34 T (byte-code) 370.17 490.34 T (to) 412.17 490.34 T (nati) 422.52 490.34 T (v) 437.27 490.34 T (e) 442.12 490.34 T (code) 449.13 490.34 T (at) 470.58 490.34 T (run-time;) 480.37 490.34 T (and) 520.16 490.34 T (\0502\051,) 124.2 478.34 T (e) 142.17 478.34 T (v) 146.36 478.34 T (en) 151.21 478.34 T (in) 164.47 478.34 T (nati) 176.07 478.34 T (v) 190.82 478.34 T (e) 195.67 478.34 T (form,) 203.93 478.34 T (application) 229.68 478.34 T (code) 277.94 478.34 T (may) 300.64 478.34 T (interact) 321.67 478.34 T (with) 355.48 478.34 T (the) 377.08 478.34 T (Ja) 393.12 478.34 T (v) 401.25 478.34 T (a) 406 478.34 T (virtual) 414.25 478.34 T (machine) 444.18 478.34 T (.) 478.06 478.34 T (W) 484.38 478.34 T (e) 493.02 478.34 T (describe) 501.28 478.34 T (P) 124.2 466.34 T (aradyn-J,) 129.61 466.34 T (an) 171.26 466.34 T (e) 185.43 466.34 T (xperimental) 189.72 466.34 T (v) 242.22 466.34 T (ersion) 247.07 466.34 T (of) 276.24 466.34 T (the) 289.3 466.34 T (P) 306.25 466.34 T (aradyn) 311.66 466.34 T (P) 343.6 466.34 T (arallel) 349.01 466.34 T (Performance) 378.73 466.34 T (T) 434.55 466.34 T (ool) 439.86 466.34 T (that) 457.37 466.34 T (addresses) 477.1 466.34 T (this) 520.15 466.34 T (en) 124.2 454.34 T (vironment) 133.24 454.34 T (by) 177.87 454.34 T (describing) 191.39 454.34 T (performance) 236.58 454.34 T (data) 290.63 454.34 T (from) 310.81 454.34 T (dynamically) 333.78 454.34 T (compiled) 386.74 454.34 T (e) 427.48 454.34 T (x) 431.77 454.34 T (ecutions) 436.62 454.34 T (in) 473.48 454.34 T (terms) 484.78 454.34 T (of) 510.52 454.34 T (the) 522.38 454.34 T (multiple) 124.2 442.34 T (e) 160.41 442.34 T (x) 164.7 442.34 T (ecution) 169.55 442.34 T (forms) 201.86 442.34 T (\050interpreted) 228.06 442.34 T (byte-code) 277.58 442.34 T (and) 319.88 442.34 T (directly) 337.19 442.34 T (e) 370.61 442.34 T (x) 374.9 442.34 T (ecuted) 379.75 442.34 T (nati) 408.72 442.34 T (v) 423.47 442.34 T (e) 428.32 442.34 T (code\051) 435.63 442.34 T (of) 460.71 442.34 T (a) 471.91 442.34 T (method,) 479.23 442.34 T (costs) 514.6 442.34 T (of) 124.2 430.34 T (the) 137.06 430.34 T (dynamic) 153.82 430.34 T (compilation,) 192.79 430.34 T (and) 247.61 430.34 T (costs) 266.59 430.34 T (of) 291.12 430.34 T (residual) 303.99 430.34 T (dependencies) 340.19 430.34 T (of) 398.59 430.34 T (the) 411.46 430.34 T (application) 428.22 430.34 T (on) 477.19 430.34 T (the) 491.73 430.34 T (virtual) 508.49 430.34 T (machine.) 124.2 418.34 T (W) 163.28 418.34 T (e) 171.92 418.34 T (use) 179.06 418.34 T (performance) 195.09 418.34 T (data) 248.32 418.34 T (from) 267.68 418.34 T (P) 289.82 418.34 T (aradyn-J) 295.23 418.34 T (to) 332.36 418.34 T (tune) 342.85 418.34 T (a) 362.77 418.34 T (Ja) 369.91 418.34 T (v) 378.04 418.34 T (a) 382.79 418.34 T (application) 389.93 418.34 T (method,) 437.07 418.34 T (and) 472.27 418.34 T (impro) 489.42 418.34 T (v) 513.16 418.34 T (e) 518.01 418.34 T (its) 525.15 418.34 T (interpreted) 124.2 406.34 T (byte-code) 169.74 406.34 T (e) 211.4 406.34 T (x) 215.69 406.34 T (ecution) 220.54 406.34 T (by) 252.21 406.34 T (11%) 264.43 406.34 T (and) 284.99 406.34 T (its) 301.65 406.34 T (nati) 313.33 406.34 T (v) 328.08 406.34 T (e) 332.93 406.34 T (form) 339.6 406.34 T (e) 361.26 406.34 T (x) 365.55 406.34 T (ecution) 370.4 406.34 T (by) 402.07 406.34 T (10%.) 414.3 406.34 T (As) 437.35 406.34 T (a) 450.69 406.34 T (result) 457.36 406.34 T (of) 481.8 406.34 T (tuning) 492.36 406.34 T (just) 520.15 406.34 T (one) 124.2 394.34 T (method,) 140.91 394.34 T (we) 175.68 394.34 T (impro) 189.62 394.34 T (v) 213.36 394.34 T (e) 218.21 394.34 T (the) 224.92 394.34 T (application\325) 239.41 394.34 T (s) 286.63 394.34 T (total) 292.8 394.34 T (e) 312.85 394.34 T (x) 317.14 394.34 T (ecution) 321.99 394.34 T (time) 353.7 394.34 T (by) 373.76 394.34 T (10%) 386.03 394.34 T (when) 406.63 394.34 T (run) 430.57 394.34 T (under) 446.17 394.34 T (Sun\325) 471.21 394.34 T (s) 489.55 394.34 T (ExactVM) 495.72 394.34 T (\050included) 124.2 382.34 T (in) 164.51 382.34 T (the) 174.84 382.34 T (Platform2) 189.61 382.34 T (release) 232.15 382.34 T (of) 262.46 382.34 T (JDK\051.) 273.34 382.34 T (Results) 300.04 382.34 T (of) 332.04 382.34 T (our) 342.92 382.34 T (work) 358.8 382.34 T (are) 381.89 382.34 T (guide) 396.65 382.34 T (to) 421.42 382.34 T (virtual) 431.74 382.34 T (machine) 460.4 382.34 T (designers) 496.83 382.34 T (as what type of performance data should be available through Java VM performance tool APIs.) 124.2 370.34 T 1 13 Q (1 INTR) 95.4 332.34 T (ODUCTION) 137.26 332.34 T 0 10 Q (The) 95.4 308.34 T (platform) 114.47 308.34 T (independence) 152.43 308.34 T (of) 210.93 308.34 T (Ja) 222.78 308.34 T (v) 230.91 308.34 T (a) 235.66 308.34 T (mak) 243.62 308.34 T (es) 260.74 308.34 T (it) 272.59 308.34 T (ideal) 281.67 308.34 T (for) 304.63 308.34 T (ubiquitous) 319.81 308.34 T (web-based) 365.56 308.34 T (supercomputing.) 411.84 308.34 T (In) 482.3 308.34 T (most) 494.15 308.34 T (cases) 517.12 308.34 T (inter-) 541.74 308.34 T (preted) 95.4 292.34 T (Ja) 123.18 292.34 T (v) 131.31 292.34 T (a) 136.06 292.34 T (does) 143.29 292.34 T (not) 164.42 292.34 T (perform) 179.99 292.34 T (as) 214.99 292.34 T (well) 226.12 292.34 T (as) 246.13 292.34 T (equi) 257.25 292.34 T (v) 274.22 292.34 T (alent) 278.97 292.34 T (nati) 301.2 292.34 T (v) 315.95 292.34 T (e) 320.8 292.34 T (code) 328.04 292.34 T ([11].) 349.71 292.34 T (F) 371.66 292.34 T (or) 377.07 292.34 T (Ja) 388.2 292.34 T (v) 396.33 292.34 T (a) 401.08 292.34 T (to) 408.31 292.34 T (compete,) 418.88 292.34 T (it) 458.06 292.34 T (is) 466.41 292.34 T (clear) 475.87 292.34 T (that) 498.1 292.34 T (it) 515.89 292.34 T (must) 524.24 292.34 T (e) 546.49 292.34 T (x) 550.78 292.34 T (e-) 555.63 292.34 T (cute,) 95.4 276.34 T (at) 117.96 276.34 T (least) 128.59 276.34 T (in) 150.33 276.34 T (part,) 161.51 276.34 T (in) 182.97 276.34 T (nati) 194.15 276.34 T (v) 208.9 276.34 T (e) 213.76 276.34 T (form.) 221.6 276.34 T (Dynamic) 246.95 276.34 T (compilation) 287.01 276.34 T (is) 338.2 276.34 T (the) 348.28 276.34 T (most) 363.9 276.34 T (promising) 386.76 276.34 T (alternati) 430.73 276.34 T (v) 463.25 276.34 T (e) 468.1 276.34 T (for) 475.94 276.34 T (transforming) 491.01 276.34 T (Ja) 546.08 276.34 T (v) 554.21 276.34 T (a) 558.96 276.34 T (byte-codes) 95.4 260.34 T (to) 142.31 260.34 T (nati) 153.68 260.34 T (v) 168.43 260.34 T (e) 173.28 260.34 T (code.) 181.31 260.34 T (Thus,) 206.28 260.34 T (as) 232.37 260.34 T (more) 244.29 260.34 T (performance) 268.43 260.34 T (critical) 322.55 260.34 T (Ja) 353.91 260.34 T (v) 362.04 260.34 T (a) 366.79 260.34 T (programs) 374.82 260.34 T (are) 416.18 260.34 T (de) 431.98 260.34 T (v) 441.17 260.34 T (eloped) 446.02 260.34 T (and) 476.27 260.34 T (run) 494.3 260.34 T (by) 511.22 260.34 T (VMs) 524.81 260.34 T (that) 548.4 260.34 T (implement) 95.4 244.34 T (dynamic) 142.32 244.34 T (compilers,) 180.9 244.34 T (the) 226.99 244.34 T (ability) 243.35 244.34 T (to) 273.06 244.34 T (b) 284.98 244.34 T (uild) 289.78 244.34 T (performance) 309.48 244.34 T (tools) 364.16 244.34 T (for) 387.75 244.34 T (these) 403.56 244.34 T (types) 428.25 244.34 T (of) 453.5 244.34 T (e) 465.98 244.34 T (x) 470.27 244.34 T (ecutions) 475.12 244.34 T (will) 512.59 244.34 T (become) 532.3 244.34 T (increasingly) 95.4 228.34 T (important.) 147.77 228.34 T (W) 192.66 228.34 T (e) 201.3 228.34 T (describe) 209.24 228.34 T (P) 246.05 228.34 T (aradyn-J,) 251.46 228.34 T (an) 291.89 228.34 T (e) 304.82 228.34 T (xperimental) 309.11 228.34 T (v) 360.38 228.34 T (ersion) 365.23 228.34 T (of) 393.17 228.34 T (the) 404.99 228.34 T (P) 420.71 228.34 T (aradyn) 426.12 228.34 T (P) 456.82 228.34 T (arallel) 462.23 228.34 T (Performance) 490.72 228.34 T (T) 545.31 228.34 T (ool) 550.62 228.34 T ([12]) 95.4 212.34 T (that) 114.57 212.34 T (addresses) 132.08 212.34 T (this) 172.91 212.34 T (en) 189.87 212.34 T (vironment) 198.91 212.34 T (by) 242.53 212.34 T (dealing) 255.04 212.34 T (with) 286.99 212.34 T (the) 307.28 212.34 T (multiple) 322.01 212.34 T (e) 357.86 212.34 T (x) 362.15 212.34 T (ecution) 367 212.34 T (forms) 398.95 212.34 T (\050interpreted) 424.79 212.34 T (byte-code) 473.95 212.34 T (and) 515.9 212.34 T (directly) 532.85 212.34 T (e) 95.4 196.34 T (x) 99.69 196.34 T (ecuted) 104.54 196.34 T (nati) 133.4 196.34 T (v) 148.15 196.34 T (e) 153 196.34 T (code\051) 160.21 196.34 T (of) 185.19 196.34 T (a) 196.28 196.34 T (method,) 203.49 196.34 T (costs) 238.76 196.34 T (of) 261.52 196.34 T (the) 272.62 196.34 T (dynamic) 287.61 196.34 T (compilation,) 324.81 196.34 T (and) 377.86 196.34 T (costs) 395.07 196.34 T (of) 417.83 196.34 T (residual) 428.93 196.34 T (dependencies) 463.36 196.34 T (of) 519.99 196.34 T (the) 531.09 196.34 T (Ja) 546.08 196.34 T (v) 554.21 196.34 T (a) 558.96 196.34 T (application) 95.4 180.34 T (program) 143.13 180.34 T (\050AP\051) 180.31 180.34 T (on) 203.04 180.34 T (the) 216.34 180.34 T (virtual) 231.85 180.34 T (machine) 261.26 180.34 T (\050VM\051.) 298.43 180.34 T (P) 327 180.34 T (aradyn-J) 332.41 180.34 T (measures) 370.13 180.34 T (simulated) 410.64 180.34 T (dynamically) 452.83 180.34 T (compiled) 505.56 180.34 T (Ja) 546.08 180.34 T (v) 554.21 180.34 T (a) 558.96 180.34 T (programs) 95.4 164.34 T (run) 136.18 164.34 T (under) 152.52 164.34 T (Sun\325) 178.3 164.34 T (s) 196.64 164.34 T (v) 203.54 164.34 T (ersion) 208.39 164.34 T (1.1.6) 235.84 164.34 T (of) 258.85 164.34 T (the) 270.19 164.34 T (Ja) 285.42 164.34 T (v) 293.55 164.34 T (a) 298.3 164.34 T (VM.) 305.76 164.34 T (P) 327.38 164.34 T (aradyn-J) 332.79 164.34 T (generates) 370.23 164.34 T (and) 411 164.34 T (inserts) 428.45 164.34 T (byte-code) 457.57 164.34 T (and) 500.01 164.34 T (nati) 517.46 164.34 T (v) 532.21 164.34 T (e) 537.06 164.34 T (code) 544.52 164.34 T (instrumentation) 95.4 148.34 T (into) 160.85 148.34 T (the) 179.08 148.34 T (VM) 193.97 148.34 T (and) 212.75 148.34 T (AP) 229.86 148.34 T (at) 245.31 148.34 T (run-time;) 255.2 148.34 T (it) 295.09 148.34 T (requires) 303.32 148.34 T (no) 338.2 148.34 T (changes) 350.88 148.34 T (to) 385.76 148.34 T (the) 396.21 148.34 T (VM) 411.1 148.34 T (binary) 429.88 148.34 T (nor) 458.1 148.34 T (to) 474.1 148.34 T (AP) 484.55 148.34 T (.class) 500 148.34 T (\336les) 524.61 148.34 T (prior) 543.96 148.34 T (to e) 95.4 132.34 T (x) 109.97 132.34 T (ecution.) 114.82 132.34 T (Figure) 113.4 106.34 T (1) 142.01 106.34 T (sho) 149.31 106.34 T (ws) 162.95 106.34 T (the) 176.37 106.34 T (tw) 190.9 106.34 T (o) 200.8 106.34 T (e) 208.11 106.34 T (x) 212.4 106.34 T (ecution) 217.25 106.34 T (modes) 249 106.34 T (of) 277.42 106.34 T (an) 288.05 106.34 T (en) 299.8 106.34 T (vironment) 308.84 106.34 T (that) 352.26 106.34 T (uses) 369.57 106.34 T (dynamic) 389.1 106.34 T (compilation:) 425.84 106.34 T (\0501\051) 478.71 106.34 T (the) 492.68 106.34 T (VM) 507.21 106.34 T (interprets) 525.63 106.34 T (AP) 95.4 90.34 T (byte-codes;) 111.08 90.34 T (\0502\051) 160.08 90.34 T (nati) 174.65 90.34 T (v) 189.4 90.34 T (e) 194.25 90.34 T (code) 201.59 90.34 T (v) 223.37 90.34 T (ersions) 228.22 90.34 T (of) 259.46 90.34 T (AP) 270.69 90.34 T (methods,) 286.37 90.34 T (that) 325.67 90.34 T (the) 343.57 90.34 T (VM) 358.69 90.34 T (compiles) 377.71 90.34 T (at) 416.72 90.34 T (run-time,) 426.84 90.34 T (are) 466.69 90.34 T (directly) 481.8 90.34 T (e) 515.25 90.34 T (x) 519.54 90.34 T (ecuted) 524.39 90.34 T (by) 553.4 90.34 T FMENDPAGE %%EndPage: "1" 1 %%Page: "2" 2 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 2) 513.06 749.33 T (the) 72 713.33 T (operating) 86.68 713.33 T (system/architecture) 126.91 713.33 T (platform) 207.13 713.33 T (with) 244.02 713.33 T (some) 264.26 713.33 T (residual) 287.83 713.33 T (VM) 321.95 713.33 T (interaction) 340.52 713.33 T (\050for) 385.75 713.33 T (e) 403.2 713.33 T (xample,) 407.49 713.33 T (acti) 441.88 713.33 T (vities) 456.07 713.33 T (lik) 480.2 713.33 T (e) 490.66 713.33 T (object) 497.56 713.33 T (cre-) 524.46 713.33 T (ation,) 72 697.33 T (thread) 97.26 697.33 T (synchronization,) 125.02 697.33 T (e) 194.16 697.33 T (xception) 198.45 697.33 T (handling,) 235.65 697.33 T (g) 275.92 697.33 T (arbage) 280.87 697.33 T (collection,) 310.28 697.33 T (and) 354.98 697.33 T (calls) 372.19 697.33 T (from) 393.28 697.33 T (nati) 415.49 697.33 T (v) 430.24 697.33 T (e) 435.09 697.33 T (code) 442.29 697.33 T (to) 463.93 697.33 T (byte-code) 474.48 697.33 T (meth-) 516.67 697.33 T (ods) 72 681.33 T (may) 88.38 681.33 T (require) 108.08 681.33 T (VM) 138.88 681.33 T (interaction\051.) 157.48 681.33 T (The) 208.56 681.33 T (VM) 226.6 681.33 T (becomes) 245.19 681.33 T (more) 282.67 681.33 T (lik) 305.7 681.33 T (e) 316.16 681.33 T (a) 323.08 681.33 T (run-time) 330.01 681.33 T (library) 366.93 681.33 T (to) 396.08 681.33 T (the) 406.34 681.33 T (nati) 421.05 681.33 T (v) 435.8 681.33 T (e) 440.65 681.33 T (form) 447.57 681.33 T (of) 469.5 681.33 T (an) 480.31 681.33 T (AP) 492.23 681.33 T (method.) 507.5 681.33 T (At an) 72 665.33 T (y point in the e) 93.79 665.33 T (x) 153.64 665.33 T (ecution, the VM may compile a method, and some methods may ne) 158.49 665.33 T (v) 428.49 665.33 T (er be compiled.) 433.34 665.33 T (There) 90 639.33 T (are) 117.12 639.33 T (se) 133.12 639.33 T (v) 141.2 639.33 T (eral) 146.05 639.33 T (challenges) 164.84 639.33 T (associated) 210.85 639.33 T (with) 255.74 639.33 T (the) 277.32 639.33 T (unique) 293.33 639.33 T (characteristics) 324.35 639.33 T (of) 385.35 639.33 T (these) 397.47 639.33 T (e) 421.82 639.33 T (x) 426.11 639.33 T (ecutions) 430.96 639.33 T (that) 468.09 639.33 T (mak) 486.88 639.33 T (e) 504 639.33 T (perfor-) 512.24 639.33 T (mance measurement dif) 72 623.33 T (\336cult:) 167.28 623.33 T (1) 90 597.33 T 1 F (Multiple) 108 597.33 T (execution) 147.99 597.33 T (f) 191.86 597.33 T (orms) 194.94 597.33 T (of) 219.92 597.33 T (the) 231.57 597.33 T (J) 248.22 597.33 T (a) 253.07 597.33 T (v) 257.82 597.33 T (a) 262.72 597.33 T (application) 271.04 597.33 T (pr) 322.14 597.33 T (ogram:) 331.96 597.33 T 0 F (P) 366.38 597.33 T (arts) 371.79 597.33 T (of) 389.55 597.33 T (the) 401.2 597.33 T (application) 416.74 597.33 T (program) 464.5 597.33 T (are) 501.7 597.33 T (trans-) 517.23 597.33 T (formed) 108 585.33 T (from) 139.71 585.33 T (byte-code) 161.98 585.33 T (to) 204.24 585.33 T (nati) 214.85 585.33 T (v) 229.6 585.33 T (e) 234.45 585.33 T (code) 241.72 585.33 T (by) 263.43 585.33 T (the) 276.26 585.33 T (VM) 291.31 585.33 T (at) 310.25 585.33 T (run-time;) 320.3 585.33 T (as) 360.35 585.33 T (a) 371.51 585.33 T (result,) 378.78 585.33 T (the) 406.33 585.33 T (location) 421.38 585.33 T (and) 456.43 585.33 T (structure) 473.7 585.33 T (of) 511.52 585.33 T (Ja) 522.68 585.33 T (v) 530.81 585.33 T (a) 535.56 585.33 T (application) 108 573.33 T (method) 155.53 573.33 T (code) 188.62 573.33 T (can) 210.58 573.33 T (change) 227.55 573.33 T (at) 258.96 573.33 T (run-time.) 269.27 573.33 T (From) 309.29 573.33 T (a) 334.05 573.33 T (performance) 341.58 573.33 T (measurement) 395.2 573.33 T (standpoint) 451.6 573.33 T (this) 496.36 573.33 T (causes) 513.9 573.33 T (tw) 108 561.33 T (o) 117.9 561.33 T (problems.) 126.11 561.33 T (First,) 169.04 561.33 T (a) 193.09 561.33 T (performance) 200.74 561.33 T (tool) 254.48 561.33 T (must) 273.25 561.33 T (be) 295.91 561.33 T (able) 308.56 561.33 T (to) 328.43 561.33 T (measure) 339.42 561.33 T (each) 375.95 561.33 T (form) 397.48 561.33 T (of) 420.13 561.33 T (the) 431.67 561.33 T (Ja) 447.1 561.33 T (v) 455.23 561.33 T (a) 459.98 561.33 T (method,) 467.63 561.33 T (requiring) 503.34 561.33 T (dif) 108 549.33 T (ferent) 118.86 549.33 T (types) 144.5 549.33 T (of) 167.93 549.33 T (instrumentation) 178.58 549.33 T (technologies.) 243.68 549.33 T (Second,) 299.05 549.33 T (a) 333.31 549.33 T (tool) 340.07 549.33 T (must) 357.94 549.33 T (be) 379.71 549.33 T (a) 391.47 549.33 T (w) 395.76 549.33 T (are) 402.88 549.33 T (of) 417.41 549.33 T (the) 428.06 549.33 T (relationship) 442.6 549.33 T (between) 492.14 549.33 T (the) 527.78 549.33 T (byte-code and nati) 108 537.33 T (v) 181.62 537.33 T (e code v) 186.47 537.33 T (ersion of a method, so that performance data can be correlated.) 219.64 537.33 T (2) 90 515.33 T 1 F (Run-time) 108 515.33 T (T) 152.08 515.33 T (ransf) 158.01 515.33 T (ormations:) 179.98 515.33 T 0 F (Compilation) 230.16 515.33 T (of) 283.7 515.33 T (Ja) 295.56 515.33 T (v) 303.69 515.33 T (a) 308.44 515.33 T (byte-code) 316.41 515.33 T (to) 359.37 515.33 T (nati) 370.67 515.33 T (v) 385.42 515.33 T (e) 390.27 515.33 T (code) 398.24 515.33 T (occurs) 420.65 515.33 T (at) 450.28 515.33 T (run-time.) 461.02 515.33 T (A) 501.49 515.33 T (perfor-) 512.24 515.33 T (mance tool must represent performance data associated with the transformational acti) 108 503.33 T (vities.) 449.34 503.33 T (3) 90 481.33 T 1 F (Interaction) 108 481.33 T (between) 159.06 481.33 T (the) 197.34 481.33 T (VM) 213.96 481.33 T (and) 233.91 481.33 T (the) 253.33 481.33 T (AP:) 269.95 481.33 T 0 F (Ev) 289.9 481.33 T (en) 300.86 481.33 T (the) 313.59 481.33 T (nati) 329.1 481.33 T (v) 343.85 481.33 T (e) 348.7 481.33 T (code) 356.43 481.33 T (methods) 378.6 481.33 T (interact) 415.78 481.33 T (with) 449.07 481.33 T (the) 470.14 481.33 T (VM) 485.65 481.33 T (\050the) 505.05 481.33 T (VM) 523.89 481.33 T (acts) 108 469.33 T (more) 126.2 469.33 T (lik) 149.39 469.33 T (e) 159.85 469.33 T (a) 166.94 469.33 T (run-time) 174.03 469.33 T (library\051.) 211.11 469.33 T (Performance) 246.25 469.33 T (data) 299.98 469.33 T (that) 319.29 469.33 T (e) 336.94 469.33 T (xplicitly) 341.23 469.33 T (describes) 377.21 469.33 T (these) 417.07 469.33 T (VM-AP) 440.27 469.33 T (interactions) 475.13 469.33 T (will) 524.44 469.33 T (help a programer better understand their application\325) 108 457.33 T (s e) 318.51 457.33 T (x) 329.19 457.33 T (ecution.) 334.04 457.33 T (W) 90 435.33 T (e) 98.64 435.33 T (e) 105.78 435.33 T (xplicitly) 110.07 435.33 T (represent) 146.11 435.33 T (VM-AP) 185.46 435.33 T (interactions) 220.38 435.33 T (during) 269.74 435.33 T (the) 298.55 435.33 T (interpretation) 313.46 435.33 T (and) 370.05 435.33 T (direct) 387.18 435.33 T (e) 412.65 435.33 T (x) 416.94 435.33 T (ecution) 421.79 435.33 T (of) 453.93 435.33 T (the) 464.96 435.33 T (AP) 479.88 435.33 T (,) 491.55 435.33 T (costs) 496.75 435.33 T (asso-) 519.45 435.33 T (ciated) 72 419.33 T (with) 99.14 419.33 T (the) 120.19 419.33 T (run-time) 135.68 419.33 T (compilation) 173.38 419.33 T (of) 224.43 419.33 T (Ja) 236.02 419.33 T (v) 244.15 419.33 T (a) 248.9 419.33 T (byte-codes) 256.61 419.33 T (to) 303.19 419.33 T (nati) 314.23 419.33 T (v) 328.98 419.33 T (e) 333.83 419.33 T (code,) 341.54 419.33 T (and) 366.18 419.33 T (the) 383.89 419.33 T (relationships) 399.38 419.33 T (between) 453.75 419.33 T (the) 490.33 419.33 T (dif) 505.82 419.33 T (ferent) 516.68 419.33 T (forms of AP code objects so that performance data from dif) 72 403.33 T (ferent forms of an AP method can be correlated.) 310.03 403.33 T (T) 90 217.48 T (o) 95.31 217.48 T (quantify) 103.14 217.48 T (the) 139.29 217.48 T (unique) 154.34 217.48 T (run-time) 184.38 217.48 T (costs) 221.65 217.48 T (associated) 244.47 217.48 T (with) 288.39 217.48 T (dynamic) 309 217.48 T (e) 346.27 217.48 T (x) 350.55 217.48 T (ecution,) 355.4 217.48 T (we) 390.17 217.48 T (compare) 404.65 217.48 T (an) 441.91 217.48 T (all-interpreted) 454.17 217.48 T (e) 513.65 217.48 T (x) 517.94 217.48 T (ecu-) 522.79 217.48 T (tion) 72 201.48 T (to) 90.06 201.48 T (a) 100.34 201.48 T (dynamically) 107.28 201.48 T (compiled) 159.22 201.48 T (e) 198.94 201.48 T (x) 203.23 201.48 T (ecution) 208.08 201.48 T (using) 240.02 201.48 T (Sun\325) 264.19 201.48 T (s) 282.53 201.48 T (ExactVM) 288.92 201.48 T (dynamic) 330.31 201.48 T (compiler) 367.25 201.48 T (included) 405.3 201.48 T (in) 442.24 201.48 T (the) 452.52 201.48 T (Platform) 467.24 201.48 T (2) 504.74 201.48 T (release) 512.24 201.48 T (of) 72 185.48 T (JDK) 83.85 185.48 T ([19].) 105.71 185.48 T (Our) 128.39 185.48 T (study) 147.47 185.48 T (\050presented) 172.66 185.48 T (in) 217.84 185.48 T (Section) 229.14 185.48 T (2\051) 261.64 185.48 T (e) 273.49 185.48 T (xamines) 277.78 185.48 T (three) 314.64 185.48 T (cases) 338.15 185.48 T (where) 362.77 185.48 T (we) 390.73 185.48 T (suspect) 405.91 185.48 T (that) 438.88 185.48 T (a) 457.4 185.48 T (method\325) 465.37 185.48 T (s) 498.15 185.48 T (dynamic) 505.56 185.48 T (compilation) 72 169.48 T (will) 122.12 169.48 T (result) 140.01 169.48 T (in) 164.57 169.48 T (little) 174.69 169.48 T (or) 195.37 169.48 T (no) 206.04 169.48 T (impro) 218.37 169.48 T (v) 242.11 169.48 T (ement) 246.96 169.48 T (o) 273.74 169.48 T (v) 278.59 169.48 T (er) 283.44 169.48 T (its) 293.55 169.48 T (all-interpreted) 305.34 169.48 T (e) 364.32 169.48 T (x) 368.61 169.48 T (ecution:) 373.46 169.48 T (\0501\051) 408.02 169.48 T (small) 422.02 169.48 T (methods) 446.03 169.48 T (with) 482.25 169.48 T (fe) 502.37 169.48 T (w) 509.89 169.48 T (byte-) 519.45 169.48 T (code) 72 153.48 T (instructions,) 93.26 153.48 T (\0502\051) 144.82 153.48 T (methods) 158.86 153.48 T (whose) 195.13 153.48 T (nati) 223.07 153.48 T (v) 237.82 153.48 T (e) 242.67 153.48 T (form) 249.49 153.48 T (has) 271.32 153.48 T (a) 287.03 153.48 T (lot) 293.86 153.48 T (of) 306.8 153.48 T (interaction) 317.51 153.48 T (with) 362.67 153.48 T (the) 382.83 153.48 T (VM,) 397.43 153.48 T (\0503\051) 418.43 153.48 T (methods) 432.47 153.48 T (whose) 468.75 153.48 T (interpreted) 496.68 153.48 T (e) 72 137.48 T (x) 76.29 137.48 T (ecution) 81.14 137.48 T (time) 114.05 137.48 T (is) 135.31 137.48 T (not) 145.45 137.48 T (dominated) 161.7 137.48 T (by) 207.4 137.48 T (interpreting) 220.87 137.48 T (byte-code,) 271 137.48 T (for) 316.41 137.48 T (e) 331.54 137.48 T (xample,) 335.83 137.48 T (methods) 371.24 137.48 T (dominated) 408.61 137.48 T (by) 454.3 137.48 T (I/O) 467.77 137.48 T (costs.) 484.58 137.48 T (Results) 510.55 137.48 T (from) 72 121.48 T (our) 94.05 121.48 T (study) 110 121.48 T (demonstrate) 134.28 121.48 T (the) 185.77 121.48 T (need) 200.61 121.48 T (for) 222.1 121.48 T (detailed) 236.37 121.48 T (performance) 270.65 121.48 T (data) 323.79 121.48 T (from) 343.06 121.48 T (dynamically) 365.12 121.48 T (compiled) 417.17 121.48 T (e) 457 121.48 T (x) 461.29 121.48 T (ecutions;) 466.14 121.48 T (we) 504.87 121.48 T (sho) 519.14 121.48 T (w) 532.78 121.48 T (ho) 72 105.48 T (w) 81.75 105.48 T (performance) 91.89 105.48 T (data) 145.35 105.48 T (that) 164.93 105.48 T (allo) 182.86 105.48 T (ws) 197.61 105.48 T (a) 211.65 105.48 T (user) 219.01 105.48 T (to) 238.6 105.48 T (compare) 249.3 105.48 T (the) 286.65 105.48 T (interpreted) 301.8 105.48 T (e) 348.05 105.48 T (x) 352.33 105.48 T (ecution) 357.18 105.48 T (costs) 389.55 105.48 T (to) 412.47 105.48 T (the) 423.18 105.48 T (nati) 438.32 105.48 T (v) 453.07 105.48 T (e) 457.92 105.48 T (e) 465.29 105.48 T (x) 469.58 105.48 T (ecution) 474.43 105.48 T (costs,) 506.79 105.48 T (to) 532.22 105.48 T (see) 72 89.48 T (the) 87.71 89.48 T (VM) 102.88 89.48 T (costs) 121.93 89.48 T (associated) 144.88 89.48 T (with) 188.93 89.48 T (the) 209.65 89.48 T (nati) 224.82 89.48 T (v) 239.57 89.48 T (e) 244.41 89.48 T (code\325) 251.8 89.48 T (s) 273.46 89.48 T (e) 280.3 89.48 T (x) 284.58 89.48 T (ecution,) 289.43 89.48 T (and) 324.32 89.48 T (to) 341.7 89.48 T (see) 352.43 89.48 T (ratios) 368.14 89.48 T (of) 393.31 89.48 T (I/O) 404.58 89.48 T (time) 420.86 89.48 T (to) 441.58 89.48 T (interpreted) 452.31 89.48 T (and) 498.58 89.48 T (nati) 515.96 89.48 T (v) 530.71 89.48 T (e) 535.56 89.48 T 1 9 Q (Figur) 72 267.15 T (e) 93.34 267.15 T (1:) 99.58 267.15 T (During) 109.95 267.15 T (a) 140.32 267.15 T (dynamically) 147.68 267.15 T (compiled) 197.56 267.15 T (execution) 235.42 267.15 T (methods) 274.79 267.15 T (may) 310.15 267.15 T (be) 329.51 267.15 T (inter) 341.38 267.15 T (pr) 359.78 267.15 T (eted) 368.62 267.15 T (by) 387.48 267.15 T (the) 399.85 267.15 T (VM) 414.71 267.15 T (and/or) 432.57 267.15 T (compiled) 460.95 267.15 T (into) 498.81 267.15 T (nati) 516.68 267.15 T (v) 531.59 267.15 T (e) 536 267.15 T (code) 72 256.15 T (and) 91.81 256.15 T (dir) 108.64 256.15 T (ectly) 119.98 256.15 T (executed.) 140.29 256.15 T 3 F (The) 178.34 256.15 T (nativ) 195.16 256.15 T (e) 213.53 256.15 T (code) 219.84 256.15 T (may) 239.15 256.15 T (still) 256.96 256.15 T (interact) 272.79 256.15 T (with) 303.61 256.15 T (the) 321.94 256.15 T (VM.) 335.76 256.15 T (In) 354.33 256.15 T (this) 365.15 256.15 T (case,) 380.97 256.15 T (the) 401.53 256.15 T (VM) 415.35 256.15 T (acts) 431.67 256.15 T (lik) 448.49 256.15 T (e) 457.72 256.15 T (a) 464.04 256.15 T (run-time) 470.85 256.15 T (library) 505.68 256.15 T (to) 533 256.15 T (the AP) 72 245.15 T (.) 96.09 245.15 T 214.28 279.15 397.72 381 C 0 X %%BeginBinary: 6697 327 159 182.96 99.21 0 215.57 281.79 /red < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000CCFFEED1F8008ED800 > store /green < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000FFFFD800D8FF00D800 > store /blue < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000FFCCFFD8D1F80000FF00 > store BEGINBITMAPCOLORc z U%F8 J$C#J#J$8$J#J#:$ O FFFFFFFFFFO#FFFFO&FFFFFFFFFFFF=FFFFO.FFFFFFFFFFJ"J"J"J" O2FFO$FFOLFFO/FFJ$J$J$ O F8F8F8P?F8F8F8P%F8F8F8J$8)8"9#9%:/:'9%9"9#J$<$8'9%<%9"9#>%:$8$:%<%:$9&9':P:) O FFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFFFF8FFFFFFF8FFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFMFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFFFFFF8FFFFFFFFFFFFF8FFFFFFFFJ":"?":"<"<"9"<":":"J#9"C":":"9#:#D":"D":"9#:#J#;"<":" O(FFFFFFFFFFFFFFFFFFFFO%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFJ#:"9%8#8"<"<#8"<"8"8#8$9#J#E"8"8#8";#:"9#<"8#8"8"8#8"8"8#8";#E"9#?#9"<# O)F8F8F8F8F8F8FFF8F8FFF8F8F8FFF8FFF8F8FFF8F8F8F8O F8F8F8FFF8F8FFF8F8F8F8F8FFF8F8FFF8FFFFF8FFF8F8FFF8F8F8F8F8F8F8FFF8F8J"B"8"@$:";":%8"J";"C%8"<";"8"A"8"C"8"8"<";"8"J";">" O(F8FFF8F8F8F8F8FFF8F8F8FFF8O(FFF8F8F8F8FFF8FFF8FFFFF8F8FFF8FFF8FF6FFF8F8J$9"D"C$9"J"J$9"9"9$D$9"8"@$9"9"9$J" O8FFFFFFFFF8FFFFFFFFO%F86FFFFFFFFF8F8F8F8FFFFFFFFF8FFFFFFFFF8F8F8F89F8J" Q1FFJrJrJr="Fr8"@r=" O8F8"8"<#:"8$="H"8" O5F8FFFFFFFFF8F8FFFFO&FFFFF8FFFFFFFFFFFFF8FFFFFFF8FFFFFFFFFFFFFFFFFFJ":%E#D%="J"9#J%9"9#>"?%:"8#8":%9"9#>#?"<"9#9" O3FFFFFFFFFFFFFFFFFFFFFFFFKF8FFFF4FFFFFFFFF8FFFFFFFFFFFFFFFFF8F8FFFFFFFFFFF8FFFFFFFFFFF8FFFFF8J"9$;#F#?";#8"9"J"J";#8"<"8"9"<";%@";#8"<"8":";"9"<"<" O0F8FFF8F8F8F8F8F8F8F8F8F8FFKF86F8F8F8F8F8F8FFF8F8F8F8FFF8F8F8F8F8F8F8F8FFF8F8J$8$9$9%8&:$=%:$;&;%Js8$8$;&;':%=&9%8$9&;':s9s9':$9$ O F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8LF8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8J" Q1F8 J$ OGF8F8F8 J" Q1FF J" Q1F8 EzIz PGF6PGFCFzJz PEFE5PEF7 J" Q1FF J"=R>#J$ DFFFFFFO)FFFFFFJ">"8#8"J" CFFFEFEFEFFO2FEJ"A%J"J" EFFFEFEFFFF9FFO>F8J" O?FFJ&J%9$8%8"9%?P9P:%;% BFFFEFEFFFF6FFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFJ$?%:"8"8"8"8'=%:(8%;'J"=RJ#J$ O$FFFFFEFEFEFFFFFEFEFEFEFFFEFEFEFFFFFFFFFEFEFFFFFEFEFEFFFFFFFFFEFEFFFEFEFEFFFFO(FF=FFFFO FFFFFFJ#8$=&?":&8#>$>$8'9'8";$J">"8#8"J" AFFFEFEFFFFFFFFFFFFFEFEFFFEFEFFFFFFFEFFFFFFFFFFFEFEFEFEFFFFFEFEFFFFFFFFFEFEFFFFFFO)FFF7F7F7FFO>F7J%?%C"F-J(J"A%J"9# BFFFFFFFFFEFEFEFEFEFFFFFEFEFEFEFEFEFFFFFFFF;FFFFFEFEFEFEFEO)FFF7F7FFFF7FFF7F7J'J&E%J"J" @FFFFFEFEFEFE?FEFFFFFFFEFEFEFEFEO0FFO2FFJ":$J"="=">"C"J&JQ:'8"8#9$:"9%>P9P:%;% AFEFEFFFFO!FFFFFFFFFFO%FFF7F7FFFF4FFFFFFFFF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFJ$9"@$9#;";$;%>$9#J$?%8(8"="?'<%:(8%;' O2FFFFFEFEFEFFFFFFFEFEFFFEFEFFFFFEFEFEFFFFFFFEO5FFFFF7F7F7FFFFFFFFF7F7FFFFF7F7F7FFF7F7F7FFFFFFFFF7F7FFFFF7F7F7FFFFFFFFF7F7FFF7F7F7FFFFJ$:"8"8"8"C&<"<*='8"P"8&:'J#8$=&?"="F$8#9$=$8'9'8";$ ?FFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFEFEFFFFFFFFFEFEFFFFFFFFFEFEFEFEFFFFFFFFFEFFFFFFFFFEO%FFF7F7FFFFFFFFFFFFF7F7F7F7FFFFFFF7FFFFFFFFFFF7F7F7F7FFFFF7F7FFFFFFFFF7F7FFFFFFJ$:%8%A&C%8%?%:&:'9%J%?%G%J(J( ?FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEO'FFFFFFFFF7F7F7F7F7F7FFFF6FFFFF7F7F7F7F7?FFFFF7F7F7F7F7J'J$E& QGFFFFF7F7F7F7?FFF7F7F7FFFFFFF7J&J"J":$J"J"<"=">"C" O5FFFFFFFFFEOEF86F7F7FFFF;FF@FFFFFFFFFFJ"8"J"J";$9#:";$;%>$9# O5FEFEQ#FF4F7F7FFFFFFF7F7FFF7F7FFFFF7F7F7FFFFFFF7J#J$:"8"8"8"C$9"8"9"8#9"=":'<'8"P"8&:' O6FEFEP.FFFFFFFFFFFFFFFFF7FFF7FFFFFFFFFFF7F7FFFFFFFFF7F7FFFFFFFFF7F7F7F7FFFFFFFFF7FFFFFFFFF7J$:%8%Ar8z<"<%>%:&:'9% QFF7F7F7F7F7F7F7F7F7F7F7F7/F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7 J" Q1FF Fz PEF6Ez PGF8 J" Q1F8Ez R'FDFz R%F9 J" Q1FF J" Q1F9 JP:)>$ O.FFFFFFF9FFFFFFFFFFFFFFJ"9":'8"<"8" O.F9F9F9FFF9F9F9F9FFFFF9J" O/F9J$:#B# O0F9FFFFFFF9FFF9J$J" O>F9FFFFO>FFJ$F# O1F9FFFFFFF9J#=$ O6FFF9F9FFFFJ" O4FFJ"8#?& O2F9FFF9F9FFFFFFF9 J"C$J" O3F9F9FFF9O;F9J"<%<"8" O5F9FFFFFFFFFFFFJ"=%8"9% O4F9F9F9F9F9F9F9F9F9F9 J" Q1FFFz"zz Q!FDFFO$FDOKFCEz"z Q"F8FFQ"F8 Ez T%FAFz T#FB J# P FFFFJR9$G%J";P"J";"F$;">"A$=":"H" O4FBFBFFFFFFFBBFFFFFBFFFFFBFFFBFFFFFBFBFFJ"J"9"?":"9"J"J" OFFFMFBFFFFFFFBBFF9FBJ%8"8%8#8P92="=";"="9"9"=&@">"<"H" O?FFFFFFFFFFFFFBFFFFFFFFFFFFFBFFFFFBFFFFFBFFFFFFFBFFFFFFFFFFFBFBFFFBFFFFFBFBFFFFFFFBFBFFJ$<)8%8+;";*J"9"="H$8"IP O5FFFFFBFFFFFBFBFFFFFBFBFBFBFBFBFBFBFBFFFFFBFBFBFFFFFBFBFBFFFFFFFBFBFFFF9FBFFFBFFFFFFFBJ&>"F$9$;">"J#8#A#8$?#J& O2FFFFFFFFFBFBFFFFFBFBFFFFFBFB>FBFBFFFFFFFBFBFFFFFBFB4FBFBFBFBFBJ%>%J#8"8">%>"8" O2FBFBFBFBFBFBFFFFO8FBFBFFFFFFFFFFFFFBFFJ$J";";'?" O?FFFBFBO:FBFBFFFFFBFBFBFBFBJ"I"J$;$8"G":$=$;$ O>FFFFEFBFFFFFFFFFBFFFBFBFFFFFBFFFFFBFFFFJ"H";$J"=":"9"9"J$;$:# O=FFFBFFFFFB@FBFBFFFFFF8FBFFFFFBFFFFFFFFJ"8"<"9"8"9"9%8"8"P$8#:":$>"="P"<'8";$:"8$8";";"Q"8"8"9"8";" O/FFFFFFFBFFFFFFFFFBFFFFFBFBFBFFFFFFFFFFFBFFFBFBFBFFFFFFFFFBFBFBFFFFFFFFFFFBFFFFFFFBFBFFFFFFFFFBJ%<$8z9&8&8$8r>"<&;'9"<$:t9$<'9%9%9" O/FBFBFBFBFBFBFB1FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFFFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFFJ"J" PEFBOGFBJ#J# PFFBFFOCFFFBJ"J" PGFBOCFB Fz T#FAEz T%F8 ENDBITMAP %%EndBinary -45 -45 657 837 C 0 0 0 1 0 0 0 1 K FMENDPAGE %%EndPage: "2" 2 %%Page: "3" 3 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 3) 513.06 749.33 T (e) 72 713.33 T (x) 76.29 713.33 T (ecution) 81.14 713.33 T (times,) 113.05 713.33 T (can) 139.69 713.33 T (be) 156.05 713.33 T (used) 167.96 713.33 T (to) 188.76 713.33 T (more) 199.01 713.33 T (easily) 222.03 713.33 T (determine) 247.84 713.33 T (ho) 290.3 713.33 T (w) 300.05 713.33 T (to) 309.74 713.33 T (tune) 319.99 713.33 T (the) 339.68 713.33 T (AP) 354.38 713.33 T (to) 369.63 713.33 T (impro) 379.88 713.33 T (v) 403.62 713.33 T (e) 408.47 713.33 T (its) 415.38 713.33 T (performance.) 427.3 713.33 T (W) 482.81 713.33 T (e) 491.45 713.33 T (discuss,) 498.36 713.33 T (in) 532.22 713.33 T (Section) 72 697.33 T (5, ho) 104.5 697.33 T (w this same type of performance data could be used by a VM de) 124.25 697.33 T (v) 381.44 697.33 T (eloper to tune the VM.) 386.29 697.33 T (In) 90 671.33 T (Section) 101.76 671.33 T (3,) 134.26 671.33 T (we) 145.2 671.33 T (describe) 160.29 671.33 T (a) 197.04 671.33 T (tool) 204.92 671.33 T (for) 223.91 671.33 T (measuring) 239.01 671.33 T (dynamically) 284.1 671.33 T (compiled) 336.97 671.33 T (Ja) 377.62 671.33 T (v) 385.76 671.33 T (a) 390.51 671.33 T (e) 398.38 671.33 T (x) 402.67 671.33 T (ecutions.) 407.52 671.33 T (P) 446.78 671.33 T (aradyn-J) 452.19 671.33 T (pro) 490.06 671.33 T (vides) 503.24 671.33 T (the) 527.78 671.33 T (types) 72 655.33 T (of) 96.21 655.33 T (detailed) 107.63 655.33 T (performance) 142.39 655.33 T (data) 196.01 655.33 T (that) 215.77 655.33 T (we) 233.87 655.33 T (disco) 248.62 655.33 T (v) 269.58 655.33 T (ered) 274.43 655.33 T (were) 294.74 655.33 T (critical) 317.27 655.33 T (to) 348.13 655.33 T (understanding) 359.01 655.33 T (the) 418.77 655.33 T (performance) 434.08 655.33 T (of) 487.71 655.33 T (a) 499.13 655.33 T (dynami-) 506.67 655.33 T (cally) 72 639.33 T (compiled) 93.85 639.33 T (e) 133.48 639.33 T (x) 137.77 639.33 T (ecution.) 142.62 639.33 T (In) 176.97 639.33 T (Section) 187.71 639.33 T (4,) 220.21 639.33 T (we) 230.12 639.33 T (present) 244.19 639.33 T (results) 275.48 639.33 T (from) 303.99 639.33 T (using) 325.84 639.33 T (P) 349.92 639.33 T (aradyn-J) 355.33 639.33 T (to) 392.17 639.33 T (measure) 402.36 639.33 T (a) 438.09 639.33 T (simulated) 444.94 639.33 T (dynamic) 486.24 639.33 T (e) 523.09 639.33 T (x) 527.38 639.33 T (e-) 532.23 639.33 T (cution) 72 623.33 T (of) 100.11 623.33 T (tw) 111.56 623.33 T (o) 121.46 623.33 T (Ja) 129.57 623.33 T (v) 137.7 623.33 T (a) 142.45 623.33 T (applications.) 150.01 623.33 T (W) 203.95 623.33 T (e) 212.59 623.33 T (sho) 220.14 623.33 T (w) 233.78 623.33 T (ho) 244.12 623.33 T (w) 253.87 623.33 T (P) 264.2 623.33 T (aradyn-J) 269.61 623.33 T (can) 307.15 623.33 T (pro\336le) 324.15 623.33 T (VM) 353.37 623.33 T (o) 372.6 623.33 T (v) 377.45 623.33 T (erheads,) 382.3 623.33 T (I/O) 418.45 623.33 T (costs,) 434.89 623.33 T (interpretation) 460.51 623.33 T (costs,) 517.5 623.33 T (direct) 72 607.33 T (e) 98.25 607.33 T (x) 102.54 607.33 T (ecution) 107.39 607.33 T (costs,) 140.32 607.33 T (and) 166.3 607.33 T (run-time) 184.22 607.33 T (compilation) 222.14 607.33 T (costs) 273.4 607.33 T (associated) 296.89 607.33 T (with) 341.47 607.33 T (the) 362.73 607.33 T (byte-code) 378.43 607.33 T (and) 421.35 607.33 T (the) 439.27 607.33 T (nati) 454.97 607.33 T (v) 469.72 607.33 T (e) 474.57 607.33 T (code) 482.49 607.33 T (forms) 504.86 607.33 T (of) 531.67 607.33 T (indi) 72 591.33 T (vidual) 87.31 591.33 T (methods) 114.85 591.33 T (in) 151.27 591.33 T (the) 161.59 591.33 T (Ja) 176.34 591.33 T (v) 184.47 591.33 T (a) 189.22 591.33 T (application.) 196.2 591.33 T (W) 245.67 591.33 T (e) 254.31 591.33 T (use) 261.29 591.33 T (performance) 277.15 591.33 T (data) 330.21 591.33 T (from) 349.41 591.33 T (P) 371.39 591.33 T (aradyn-J) 376.8 591.33 T (to) 413.76 591.33 T (tune) 424.08 591.33 T (a) 443.83 591.33 T (dynamically) 450.8 591.33 T (compiled) 502.78 591.33 T (Ja) 72 575.33 T (v) 80.13 575.33 T (a) 84.88 575.33 T (application) 92.52 575.33 T (method,) 140.16 575.33 T (and) 175.86 575.33 T (impro) 193.5 575.33 T (v) 217.24 575.33 T (e) 222.09 575.33 T (its) 229.73 575.33 T (interpreted) 242.38 575.33 T (byte-code) 288.9 575.33 T (e) 331.54 575.33 T (x) 335.83 575.33 T (ecution) 340.67 575.33 T (by) 373.32 575.33 T (11%) 386.52 575.33 T (and) 408.05 575.33 T (its) 425.69 575.33 T (nati) 438.34 575.33 T (v) 453.09 575.33 T (e) 457.94 575.33 T (form) 465.58 575.33 T (e) 488.22 575.33 T (x) 492.51 575.33 T (ecution) 497.36 575.33 T (by) 530 575.33 T (10%.) 72 559.33 T (Results) 95.33 559.33 T (of) 127.27 559.33 T (these) 138.1 559.33 T (studies) 161.15 559.33 T (point) 191.43 559.33 T (to) 214.48 559.33 T (places) 224.76 559.33 T (were) 252.25 559.33 T (JDK\325) 274.17 559.33 T (s) 295.29 559.33 T (ne) 301.67 559.33 T (w) 310.86 559.33 T (pro\336ling) 320.58 559.33 T (interf) 357.53 559.33 T (ace,) 379.09 559.33 T (JVMPI) 397.4 559.33 T ([18],) 428.79 559.33 T (should) 450.45 559.33 T (be) 479.61 559.33 T (e) 491.55 559.33 T (xpanded) 495.84 559.33 T (to) 532.22 559.33 T (pro) 72 543.33 T (vide) 85.18 543.33 T (the) 106.03 543.33 T (performance) 121.87 543.33 T (data) 176.02 543.33 T (that) 196.31 543.33 T (measure) 214.93 543.33 T (the) 251.88 543.33 T (multiple) 267.72 543.33 T (e) 304.69 543.33 T (x) 308.98 543.33 T (ecution) 313.83 543.33 T (forms) 346.89 543.33 T (of) 373.85 543.33 T (AP) 385.8 543.33 T (code,) 402.21 543.33 T (the) 427.21 543.33 T (run-time) 443.05 543.33 T (transformation) 481.12 543.33 T (costs) 72 527.33 T (associated) 94.72 527.33 T (with) 138.54 527.33 T (dynamically) 159.04 527.33 T (compiling) 211.2 527.33 T (AP) 254.48 527.33 T (byte-codes,) 269.98 527.33 T (and) 318.52 527.33 T (VM) 335.68 527.33 T (o) 354.51 527.33 T (v) 359.36 527.33 T (erhead) 364.21 527.33 T (associated) 393.58 527.33 T (with) 437.4 527.33 T (interactions) 457.9 527.33 T (with) 507.28 527.33 T (the) 527.78 527.33 T (e) 72 511.33 T (x) 76.29 511.33 T (ecution of AP nati) 81.14 511.33 T (v) 153.94 511.33 T (e and byte-code.) 158.79 511.33 T 1 13 Q (2 EV) 72 484.33 T (ALU) 98.05 484.33 T (A) 124.71 484.33 T (TING D) 132.87 484.33 T (YN) 178.21 484.33 T (AMIC COMPILA) 196.72 484.33 T (TION PERFORMANCE) 297.67 484.33 T 0 10 Q (Performance) 72 460.33 T (measurement) 125.87 460.33 T (of) 181.97 460.33 T (dynamically) 193.08 460.33 T (compiled) 245.3 460.33 T (e) 285.3 460.33 T (x) 289.59 460.33 T (ecutions) 294.44 460.33 T (is) 330.55 460.33 T (more) 340.01 460.33 T (complicated) 363.34 460.33 T (than) 415 460.33 T (that) 435 460.33 T (of) 452.78 460.33 T (statically) 463.89 460.33 T (compiled) 502.78 460.33 T (program) 72 444.33 T (e) 108.13 444.33 T (x) 112.42 444.33 T (ecutions;) 117.27 444.33 T (be) 155.64 444.33 T (yond) 164.93 444.33 T (the) 187.18 444.33 T (general) 201.65 444.33 T (need) 233.34 444.33 T (for) 254.47 444.33 T (detailed) 268.38 444.33 T (performance) 302.29 444.33 T (data,) 355.08 444.33 T (a) 376.49 444.33 T (performance) 383.18 444.33 T (tool) 435.96 444.33 T (needs) 453.78 444.33 T (to) 478.8 444.33 T (deal) 488.83 444.33 T (with) 507.75 444.33 T (the) 527.78 444.33 T (multiple) 72 428.33 T (e) 108.28 428.33 T (x) 112.57 428.33 T (ecution) 117.42 428.33 T (forms) 149.8 428.33 T (of) 176.07 428.33 T (the) 187.34 428.33 T (AP) 202.5 428.33 T (,) 214.17 428.33 T (and) 219.61 428.33 T (with) 236.99 428.33 T (run-time) 257.71 428.33 T (interactions) 295.08 428.33 T (between) 344.68 428.33 T (the) 380.94 428.33 T (AP) 396.1 428.33 T (and) 411.82 428.33 T (the) 429.2 428.33 T (VM.) 444.36 428.33 T (In) 465.91 428.33 T (this) 477.18 428.33 T (section,) 494.57 428.33 T (we) 528.34 428.33 T (moti) 72 412.33 T (v) 90.09 412.33 T (ate) 94.84 412.33 T (the) 109.12 412.33 T (need) 123.96 412.33 T (for) 145.46 412.33 T (performance) 159.74 412.33 T (data) 212.9 412.33 T (that) 232.18 412.33 T (describe) 249.8 412.33 T (VM) 285.74 412.33 T (costs) 304.47 412.33 T (and) 327.09 412.33 T (other) 344.15 412.33 T (detailed) 367.33 412.33 T (run-time) 401.61 412.33 T (measures) 438.67 412.33 T (associated) 478.5 412.33 T (with) 522.22 412.33 T (interpreted) 72 396.33 T (byte-code) 118.09 396.33 T (and) 160.29 396.33 T (directly) 177.49 396.33 T (e) 210.81 396.33 T (x) 215.1 396.33 T (ecuted) 219.95 396.33 T (nati) 248.82 396.33 T (v) 263.57 396.33 T (e) 268.42 396.33 T (code) 275.63 396.33 T (forms) 297.28 396.33 T (of) 323.38 396.33 T (a) 334.48 396.33 T (method.) 341.68 396.33 T (W) 376.95 396.33 T (e) 385.59 396.33 T (sho) 392.8 396.33 T (w) 406.44 396.33 T (e) 416.43 396.33 T (xamples) 420.72 396.33 T (of) 456.82 396.33 T (ho) 467.91 396.33 T (w) 477.66 396.33 T (an) 487.65 396.33 T (AP) 499.86 396.33 T (de) 515.41 396.33 T (v) 524.6 396.33 T (el-) 529.45 396.33 T (oper) 72 380.33 T (can) 92.98 380.33 T (use) 110.07 380.33 T (such) 126.61 380.33 T (performance) 148.15 380.33 T (data) 201.89 380.33 T (to) 221.76 380.33 T (tune) 232.75 380.33 T (the) 253.18 380.33 T (AP) 268.61 380.33 T (.) 280.28 380.33 T (W) 285.99 380.33 T (e) 294.63 380.33 T (demonstrate) 302.28 380.33 T (the) 354.37 380.33 T (need) 369.8 380.33 T (for) 391.89 380.33 T (this) 406.76 380.33 T (type) 424.42 380.33 T (of) 444.85 380.33 T (performance) 456.39 380.33 T (data) 510.13 380.33 T (by) 530 380.33 T (comparing) 72 364.33 T (total) 118.01 364.33 T (e) 139.04 364.33 T (x) 143.33 364.33 T (ecution) 148.18 364.33 T (times) 180.86 364.33 T (of) 205.78 364.33 T (dynamically) 217.35 364.33 T (compiled) 270.04 364.33 T (and) 310.5 364.33 T (all-interpreted) 328.19 364.33 T (e) 388.08 364.33 T (x) 392.37 364.33 T (ecutions) 397.22 364.33 T (of) 433.8 364.33 T (three) 445.37 364.33 T (Ja) 468.61 364.33 T (v) 476.73 364.33 T (a) 481.48 364.33 T (applications.) 489.17 364.33 T (W) 72 348.33 T (e) 80.64 348.33 T (e) 87.91 348.33 T (xamine) 92.2 348.33 T (three) 124.48 348.33 T (cases) 147.3 348.33 T (where) 171.23 348.33 T (the) 198.49 348.33 T (performance) 213.55 348.33 T (of) 266.91 348.33 T (dynamic) 278.08 348.33 T (compilation) 315.35 348.33 T (and) 365.96 348.33 T (subsequent) 383.23 348.33 T (direct) 430.51 348.33 T (e) 456.11 348.33 T (x) 460.4 348.33 T (ecution) 465.25 348.33 T (of) 497.52 348.33 T (a) 508.69 348.33 T (nati) 515.96 348.33 T (v) 530.71 348.33 T (e) 535.56 348.33 T (form) 72 332.33 T (of) 94.72 332.33 T (a) 106.32 332.33 T (method) 114.04 332.33 T (might) 147.32 332.33 T (be) 173.93 332.33 T (the) 186.65 332.33 T (same) 202.15 332.33 T (as,) 225.98 332.33 T (or) 240.08 332.33 T (w) 251.69 332.33 T (orse) 258.81 332.33 T (than,) 278.75 332.33 T (simply) 301.74 332.33 T (interpreting) 332.25 332.33 T (a) 382.19 332.33 T (byte-code) 389.9 332.33 T (v) 432.61 332.33 T (ersion) 437.46 332.33 T (of) 465.18 332.33 T (the) 476.79 332.33 T (method:) 492.28 332.33 T (\0501\051) 528.34 332.33 T (methods) 72 316.33 T (whose) 108.42 316.33 T (nati) 136.49 316.33 T (v) 151.24 316.33 T (e) 156.09 316.33 T (code) 163.05 316.33 T (interacts) 184.46 316.33 T (frequently) 220.86 316.33 T (with) 264.49 316.33 T (the) 284.79 316.33 T (VM,) 299.54 316.33 T (\0502\051) 320.67 316.33 T (methods) 334.86 316.33 T (whose) 371.27 316.33 T (e) 399.35 316.33 T (x) 403.64 316.33 T (ecution) 408.49 316.33 T (time) 440.45 316.33 T (is) 460.76 316.33 T (not) 469.95 316.33 T (dominated) 485.26 316.33 T (by) 530 316.33 T (e) 72 300.33 T (x) 76.29 300.33 T (ecuting method code \050e.g. I/O intensi) 81.14 300.33 T (v) 229.48 300.33 T (e methods\051, and \0503\051 small methods with simple byte-code instructions.) 234.33 300.33 T (The) 90 274.33 T (performance) 108.36 274.33 T (of) 161.7 274.33 T (a) 172.84 274.33 T (dynamically) 180.08 274.33 T (compiled) 232.33 274.33 T (Ja) 272.36 274.33 T (v) 280.49 274.33 T (a) 285.24 274.33 T (method) 292.49 274.33 T (can) 325.3 274.33 T (be) 341.98 274.33 T (represented) 354.23 274.33 T (as) 403.13 274.33 T (the) 414.27 274.33 T (sum) 429.3 274.33 T (of) 448.78 274.33 T (the) 459.92 274.33 T (time) 474.94 274.33 T (to) 495.53 274.33 T (interpret) 506.12 274.33 T (the) 72 258.33 T (byte-code) 87.12 258.33 T (form,) 129.45 258.33 T (the) 154.28 258.33 T (time) 169.4 258.33 T (to) 190.08 258.33 T (compile) 200.76 258.33 T (the) 235.87 258.33 T (byte-code) 250.99 258.33 T (to) 293.32 258.33 T (nati) 304 258.33 T (v) 318.75 258.33 T (e) 323.6 258.33 T (code,) 330.93 258.33 T (and) 355.21 258.33 T (the) 372.55 258.33 T (time) 387.67 258.33 T (to) 408.34 258.33 T (e) 419.02 258.33 T (x) 423.31 258.33 T (ecute) 428.16 258.33 T (the) 452.16 258.33 T (nati) 467.28 258.33 T (v) 482.03 258.33 T (e) 486.88 258.33 T (form) 494.21 258.33 T (of) 516.55 258.33 T (the) 527.78 258.33 T (method:) 72 240.5 T (\050where) 270.94 240.5 T (is) 348.5 240.5 T (the) 357.93 240.5 T (number) 372.92 240.5 T (of) 406.23 240.5 T (times) 417.32 240.5 T (the) 441.75 240.5 T (method) 456.73 240.5 T (is) 489.5 240.5 T (e) 498.93 240.5 T (x) 503.22 240.5 T (ecuted\051.) 508.07 240.5 T (W) 72 223.33 T (e) 80.64 223.33 T (e) 87.92 223.33 T (xamine) 92.21 223.33 T (three) 124.49 223.33 T (cases) 147.32 223.33 T (where) 171.26 223.33 T (we) 198.54 223.33 T (suspect) 213.04 223.33 T (that) 245.32 223.33 T (the) 263.16 223.33 T (cost) 278.22 223.33 T (of) 297.17 223.33 T (interpreting) 308.34 223.33 T (a) 357.84 223.33 T (method) 365.12 223.33 T (is) 397.96 223.33 T (less) 407.47 223.33 T (than) 425.32 223.33 T (the) 445.38 223.33 T (cost) 460.44 223.33 T (of) 479.39 223.33 T (dynamically) 490.56 223.33 T (compiling) 72 205.5 T (it) 114.92 205.5 T (\050) 122.85 205.5 T (\051.) 356.94 205.5 T (W) 365.13 205.5 T (e) 373.77 205.5 T (implemented) 380.58 205.5 T (three) 435.16 205.5 T (Ja) 457.51 205.5 T (v) 465.64 205.5 T (a) 470.39 205.5 T (application) 477.2 205.5 T (k) 524 205.5 T (er-) 528.9 205.5 T (nels) 72 188.33 T (to) 90.62 188.33 T (test) 100.91 188.33 T (these) 117.31 188.33 T (cases.) 140.37 188.33 T (Each) 166.48 188.33 T (k) 188.98 188.33 T (ernel) 193.88 188.33 T (consists) 216.38 188.33 T (of) 250.56 188.33 T (a) 261.39 188.33 T (main) 268.35 188.33 T (loop) 290.85 188.33 T (method) 311.14 188.33 T (that) 343.65 188.33 T (mak) 361.16 188.33 T (es) 378.28 188.33 T (calls) 389.12 188.33 T (to) 409.96 188.33 T (methods) 420.25 188.33 T (implementing) 456.65 188.33 T (one) 514.72 188.33 T (of) 531.67 188.33 T (the) 72 172.33 T (three) 86.88 172.33 T (cases.) 109.52 172.33 T (W) 135.78 172.33 T (e) 144.42 172.33 T (ran) 151.51 172.33 T (each) 166.94 172.33 T (application) 187.92 172.33 T (for) 235.01 172.33 T (v) 249.33 172.33 T (arying) 254.08 172.33 T (numbers) 282.29 172.33 T (of) 319.38 172.33 T (iterations) 330.37 172.33 T (under) 370.24 172.33 T (ExactVM.) 395.67 172.33 T (W) 439.71 172.33 T (e) 448.35 172.33 T (compared) 455.44 172.33 T (e) 497.53 172.33 T (x) 501.82 172.33 T (ecutions) 506.67 172.33 T (with) 72 156.33 T (dynamic) 92.5 156.33 T (compiling) 129.66 156.33 T (disabled) 172.95 156.33 T (to) 209 156.33 T (e) 219.5 156.33 T (x) 223.79 156.33 T (ecutions) 228.64 156.33 T (that) 264.7 156.33 T (used) 282.42 156.33 T (dynamic) 303.47 156.33 T (compiling.) 340.63 156.33 T (ExactVM) 386.42 156.33 T (uses) 428.02 156.33 T (a) 447.96 156.33 T (count) 455.12 156.33 T (based) 480.07 156.33 T (heuristic) 505.56 156.33 T (to) 72 140.33 T (determine) 82.45 140.33 T (when) 125.11 140.33 T (to) 149.44 140.33 T (compile) 159.89 140.33 T (a) 194.78 140.33 T (method;) 201.89 140.33 T (if) 237.34 140.33 T (the) 246.12 140.33 T (method) 261.01 140.33 T (contains) 293.67 140.33 T (a) 329.67 140.33 T (loop) 336.78 140.33 T (it) 357.23 140.33 T (is) 365.46 140.33 T (compiled) 374.8 140.33 T (immediately) 414.69 140.33 T (,) 464.04 140.33 T (otherwise) 469.21 140.33 T (it) 510.76 140.33 T (w) 518.99 140.33 T (aits) 526.11 140.33 T (to) 72 124.33 T (compile) 83.04 124.33 T (a) 118.52 124.33 T (method) 126.23 124.33 T (until) 159.49 124.33 T (it) 181.09 124.33 T (has) 189.91 124.33 T (been) 206.5 124.33 T (called) 228.65 124.33 T (15) 255.79 124.33 T (times.) 269.05 124.33 T (As) 296.48 124.33 T (a) 310.85 124.33 T (result,) 318.56 124.33 T (the) 346.54 124.33 T (main) 362.02 124.33 T (loop) 385.28 124.33 T (method) 406.32 124.33 T (is) 439.58 124.33 T (immediately) 449.52 124.33 T (compiled) 502.78 124.33 T (\050since) 72 108.33 T (it) 98.15 108.33 T (contains) 105.97 108.33 T (a) 141.57 108.33 T (loop\051,) 148.28 108.33 T (and) 174.16 108.33 T (the) 190.87 108.33 T (methods) 205.35 108.33 T (called) 241.51 108.33 T (by) 267.66 108.33 T (the) 279.93 108.33 T (main) 294.42 108.33 T (loop) 316.68 108.33 T (are) 336.73 108.33 T (interpreted) 351.21 108.33 T (the) 396.8 108.33 T (\336rst) 411.28 108.33 T (14) 429.11 108.33 T (times) 441.38 108.33 T (the) 465.32 108.33 T (y) 477.39 108.33 T (are) 484.65 108.33 T (called.) 499.13 108.33 T (On) 527.78 108.33 T (the) 72 92.33 T (15th) 87.12 92.33 T (call,) 107.81 92.33 T (the) 127.65 92.33 T (methods) 142.77 92.33 T (are) 179.57 92.33 T (compiled,) 194.68 92.33 T (and) 237.3 92.33 T (directly) 254.65 92.33 T (e) 288.1 92.33 T (x) 292.39 92.33 T (ecuted) 297.24 92.33 T (as) 326.24 92.33 T (nati) 337.48 92.33 T (v) 352.23 92.33 T (e) 357.08 92.33 T (code) 364.42 92.33 T (for) 386.2 92.33 T (this) 400.76 92.33 T (and) 418.12 92.33 T (all) 435.46 92.33 T (subsequent) 448.36 92.33 T (calls.) 495.71 92.33 T (Calls) 519.44 92.33 T (from) 72 76.33 T (the) 93.86 76.33 T (nati) 108.49 76.33 T (v) 123.24 76.33 T (e) 128.09 76.33 T (code) 134.95 76.33 T (in) 156.25 76.33 T (the) 166.44 76.33 T (main) 181.08 76.33 T (loop) 203.49 76.33 T (to) 223.69 76.33 T (the) 233.89 76.33 T (byte-code) 248.52 76.33 T (v) 290.37 76.33 T (ersions) 295.22 76.33 T (of) 325.97 76.33 T (the) 336.71 76.33 T (methods) 351.35 76.33 T (require) 387.66 76.33 T (interaction) 418.39 76.33 T (with) 463.58 76.33 T (the) 483.78 76.33 T (VM.) 498.41 76.33 T (Calls) 519.44 76.33 T 107.28 236 268.44 249 C 0 0 0 1 0 0 0 1 K 4 10 Q 0 X (a) 108.28 240.5 T (I) 123.85 240.5 T (n) 127.77 240.5 T (t) 133.36 240.5 T (e) 136.73 240.5 T (r) 141.76 240.5 T (p) 146.24 240.5 T 5 F (\264) 115.78 240.5 T 4 F (C) 161.87 240.5 T (o) 169.13 240.5 T (m) 174.72 240.5 T (p) 182.53 240.5 T (i) 188.12 240.5 T (l) 191.49 240.5 T (e) 194.86 240.5 T (b) 209.94 240.5 T (N) 225.62 240.5 T (a) 232.88 240.5 T (t) 238.48 240.5 T (i) 241.84 240.5 T (v) 245.21 240.5 T (e) 250.24 240.5 T (E) 255.27 240.5 T (x) 261.97 240.5 T 5 F (\264) 217.44 240.5 T 0 F (+) 153.73 240.5 T (+) 201.8 240.5 T -45 -45 657 837 C 301.46 236 345.74 249 C 0 0 0 1 0 0 0 1 K 4 10 Q 0 X (a) 302.46 240.5 T (b) 318.1 240.5 T 0 F (+) 309.96 240.5 T 4 F (n) 338.74 240.5 T 0 F (=) 328.1 240.5 T -45 -45 657 837 C 126.18 201 356.94 214 C 0 0 0 1 0 0 0 1 K 4 10 Q 0 X (n) 131.22 205.5 T (I) 146.78 205.5 T (n) 150.7 205.5 T (t) 156.29 205.5 T (e) 159.66 205.5 T (r) 164.69 205.5 T (p) 169.17 205.5 T 5 F (\264) 138.71 205.5 T (\050) 127.18 205.5 T (\051) 174.88 205.5 T 4 F (a) 192.74 205.5 T (I) 208.3 205.5 T (n) 212.23 205.5 T (t) 217.82 205.5 T (e) 221.18 205.5 T (r) 226.21 205.5 T (p) 230.69 205.5 T 5 F (\264) 200.24 205.5 T 4 F (C) 246.33 205.5 T (o) 253.59 205.5 T (m) 259.18 205.5 T (p) 266.99 205.5 T (i) 272.58 205.5 T (l) 275.95 205.5 T (e) 279.32 205.5 T (b) 294.4 205.5 T (N) 310.08 205.5 T (a) 317.34 205.5 T (t) 322.93 205.5 T (i) 326.3 205.5 T (v) 329.67 205.5 T (e) 334.7 205.5 T (E) 339.73 205.5 T (x) 346.43 205.5 T 5 F (\264) 301.89 205.5 T 0 F (+) 238.19 205.5 T (+) 286.26 205.5 T 5 F (\050) 188.7 205.5 T (\051) 351.61 205.5 T (<) 180.71 205.5 T -45 -45 657 837 C 0 0 0 1 0 0 0 1 K FMENDPAGE %%EndPage: "3" 3 %%Page: "4" 4 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 4) 513.06 749.33 T (from the nati) 72 713.33 T (v) 123.41 713.33 T (e code in the main loop to nati) 128.26 713.33 T (v) 249.39 713.33 T (e code v) 254.24 713.33 T (ersions of the methods in) 287.41 713.33 T (v) 387.56 713.33 T (olv) 392.36 713.33 T (e no VM interactions.) 404.99 713.33 T 1 F (Case) 90 687.33 T (1:) 113.37 687.33 T (Methods) 124.52 687.33 T (with) 164.56 687.33 T (VM) 186.27 687.33 T (interactions) 205.75 687.33 T 0 F (:) 256.3 687.33 T (The) 261.9 687.33 T (e) 280.27 687.33 T (x) 284.56 687.33 T (ecution) 289.41 687.33 T (of) 321.67 687.33 T (the) 332.83 687.33 T (nati) 347.86 687.33 T (v) 362.61 687.33 T (e) 367.46 687.33 T (form) 374.73 687.33 T (of) 396.99 687.33 T (the) 408.14 687.33 T (method) 423.18 687.33 T (can) 456 687.33 T (be) 472.7 687.33 T (dominated) 484.96 687.33 T (by) 530 687.33 T (interactions) 72 671.33 T (with) 121.91 671.33 T (the) 142.94 671.33 T (VM.) 158.41 671.33 T (Some) 180.27 671.33 T (e) 206.3 671.33 T (xamples) 210.59 671.33 T (include) 247.17 671.33 T (methods) 279.86 671.33 T (that) 317.01 671.33 T (do) 335.26 671.33 T (object) 348.51 671.33 T (creation,) 376.2 671.33 T (deletion) 414.16 671.33 T (\050resulting) 449.63 671.33 T (in) 491.21 671.33 T (increased) 502.24 671.33 T (g) 72 655.33 T (arbage) 76.95 655.33 T (collection\051,) 106.7 655.33 T (or) 155.06 655.33 T (modi\336cation) 166.49 655.33 T (\050either) 220.14 655.33 T (modifying) 249.34 655.33 T (an) 294.11 655.33 T (object) 306.64 655.33 T (pointer) 334.18 655.33 T (,) 362.11 655.33 T (or) 367.7 655.33 T (modi\336cations) 379.13 655.33 T (that) 436.68 655.33 T (ha) 454.77 655.33 T (v) 464.01 655.33 T (e) 468.86 655.33 T (side) 476.4 655.33 T (ef) 495.6 655.33 T (fects) 503.12 655.33 T (lik) 525.1 655.33 T (e) 535.56 655.33 T (memory) 72 639.33 T (allocation\051,) 107.99 639.33 T (and) 155.92 639.33 T (methods) 173.02 639.33 T (that) 209.57 639.33 T (contain) 227.24 639.33 T (calls) 259.34 639.33 T (to) 280.33 639.33 T (methods) 290.77 639.33 T (in) 327.32 639.33 T (byte-code) 337.76 639.33 T (form.) 379.85 639.33 T (T) 404.45 639.33 T (o) 409.76 639.33 T (test) 417.42 639.33 T (this) 433.98 639.33 T (case,) 451.09 639.33 T (we) 473.46 639.33 T (implemented) 487.78 639.33 T (a) 72 623.33 T (Ja) 78.87 623.33 T (v) 87 623.33 T (a) 91.75 623.33 T (application) 98.61 623.33 T (k) 145.48 623.33 T (ernel) 150.38 623.33 T (that) 172.8 623.33 T (consists) 190.22 623.33 T (of) 224.32 623.33 T (a) 235.07 623.33 T (main) 241.94 623.33 T (loop) 264.37 623.33 T (that) 284.58 623.33 T (calls) 302 623.33 T (tw) 322.76 623.33 T (o) 332.66 623.33 T (methods.) 340.08 623.33 T (The) 378.9 623.33 T (\336rst) 396.88 623.33 T (method) 414.86 623.33 T (creates) 447.29 623.33 T (tw) 477.48 623.33 T (o) 487.38 623.33 T (objects) 494.8 623.33 T (and) 525.56 623.33 T (adds) 72 607.33 T (them) 92.95 607.33 T (to) 115.57 607.33 T (a) 125.97 607.33 T (V) 133.03 607.33 T (ector) 139.14 607.33 T (,) 158.73 607.33 T (and) 163.85 607.33 T (the) 180.91 607.33 T (second) 195.75 607.33 T (method) 226.14 607.33 T (remo) 258.76 607.33 T (v) 279.16 607.33 T (es) 284.01 607.33 T (an) 294.96 607.33 T (object) 307.02 607.33 T (from) 334.08 607.33 T (the) 356.14 607.33 T (V) 370.98 607.33 T (ector) 377.09 607.33 T (.) 396.53 607.33 T (After) 401.65 607.33 T (each) 425.37 607.33 T (main) 446.31 607.33 T (loop) 468.93 607.33 T (iteration,) 489.33 607.33 T (the) 527.78 607.33 T (V) 72 591.33 T (ector\325) 78.11 591.33 T (s) 100.88 591.33 T (size) 107.19 591.33 T (increases) 125.17 591.33 T (by) 164.24 591.33 T (one.) 176.67 591.33 T (The) 196.03 591.33 T (Ja) 214.01 591.33 T (v) 222.13 591.33 T (a) 226.88 591.33 T (Class) 233.75 591.33 T (Libraries\325) 257.84 591.33 T (V) 299.7 591.33 T (ector) 305.81 591.33 T (class) 328.22 591.33 T (stores) 350.09 591.33 T (an) 375.84 591.33 T (array) 387.7 591.33 T (of) 410.67 591.33 T (objects) 421.42 591.33 T (in) 452.18 591.33 T (a) 462.38 591.33 T (contiguous) 469.24 591.33 T (chunk) 515.56 591.33 T (of) 72 575.33 T (memory) 83.09 575.33 T (.) 115.77 575.33 T (In) 121.03 575.33 T (our) 132.12 575.33 T (application,) 148.21 575.33 T (there) 197.9 575.33 T (are) 220.65 575.33 T (VM) 235.62 575.33 T (interactions) 254.49 575.33 T (associated) 303.91 575.33 T (with) 347.77 575.33 T (the) 368.31 575.33 T (tw) 383.29 575.33 T (o) 393.19 575.33 T (objects) 400.95 575.33 T (created) 432.03 575.33 T (in) 463.66 575.33 T (the) 474.2 575.33 T (\336rst) 489.18 575.33 T (method.) 507.5 575.33 T (The) 72 559.33 T (increasing) 90.61 559.33 T (size) 134.78 559.33 T (of) 153.39 559.33 T (the) 164.78 559.33 T (v) 180.07 559.33 T (ector) 184.92 559.33 T (will) 207.97 559.33 T (result) 226.59 559.33 T (in) 251.88 559.33 T (periodic) 262.72 559.33 T (interactions) 298.55 559.33 T (with) 348.28 559.33 T (the) 369.12 559.33 T (VM:) 384.4 559.33 T (when) 406.36 559.33 T (an) 431.08 559.33 T (object) 443.58 559.33 T (is) 471.09 559.33 T (added) 480.82 559.33 T (to) 507.76 559.33 T (a) 518.61 559.33 T (full) 526.11 559.33 T (V) 72 543.33 T (ector) 78.11 543.33 T (,) 97.7 543.33 T (the) 102.8 543.33 T (VM) 117.62 543.33 T (will) 136.34 543.33 T (be) 154.5 543.33 T (in) 166.54 543.33 T (v) 173.92 543.33 T (olv) 178.72 543.33 T (ed) 191.35 543.33 T (in) 203.39 543.33 T (allocation) 213.78 543.33 T (of) 255.82 543.33 T (a) 266.75 543.33 T (ne) 273.79 543.33 T (w) 282.98 543.33 T (chunk) 292.81 543.33 T (of) 319.85 543.33 T (memory) 330.78 543.33 T (,) 363.46 543.33 T (and) 368.56 543.33 T (in) 385.61 543.33 T (cop) 395.99 543.33 T (ying) 410.33 543.33 T (the) 430.71 543.33 T (old) 445.53 543.33 T (V) 460.92 543.33 T (ector\325) 467.02 543.33 T (s) 489.8 543.33 T (contents) 496.29 543.33 T (to) 532.22 543.33 T (this) 72 527.33 T (ne) 89.03 527.33 T (w) 98.22 527.33 T (chunk.) 108.02 527.33 T (Object) 137.54 527.33 T (remo) 166.78 527.33 T (v) 187.18 527.33 T (al) 191.93 527.33 T (will) 201.73 527.33 T (result) 219.87 527.33 T (in) 244.67 527.33 T (increased) 255.03 527.33 T (g) 295.37 527.33 T (arbage) 300.32 527.33 T (collection) 329.55 527.33 T (acti) 371.58 527.33 T (vity) 385.77 527.33 T (in) 403.91 527.33 T (the) 414.27 527.33 T (VM,) 429.07 527.33 T (as) 450.26 527.33 T (the) 461.17 527.33 T (amount) 475.97 527.33 T (of) 508.55 527.33 T (freed) 519.46 527.33 T (space) 72 511.33 T (increases) 96.77 511.33 T (with) 135.98 511.33 T (each) 156.32 511.33 T (main) 177.2 511.33 T (loop) 199.75 511.33 T (iteration.) 220.09 511.33 T (Our) 258.48 511.33 T (h) 276.59 511.33 T (ypothesis) 281.54 511.33 T (w) 321.88 511.33 T (as) 329 511.33 T (that) 339.89 511.33 T (the) 357.45 511.33 T (dynamic) 372.23 511.33 T (compilation) 409.22 511.33 T (of) 459.56 511.33 T (methods) 470.45 511.33 T (that) 506.9 511.33 T (cre-) 524.46 511.33 T (ate,) 72 495.33 T (modify) 89.33 495.33 T (,) 117.57 495.33 T (and) 123.24 495.33 T (delete) 140.85 495.33 T (objects) 167.9 495.33 T (will) 199.41 495.33 T (not) 218.14 495.33 T (result) 234.09 495.33 T (in) 259.48 495.33 T (much) 270.43 495.33 T (impro) 295.82 495.33 T (v) 319.56 495.33 T (ement) 324.41 495.33 T (o) 352.02 495.33 T (v) 356.87 495.33 T (er) 361.72 495.33 T (an) 372.67 495.33 T (all-interpreted) 385.28 495.33 T (e) 445.1 495.33 T (x) 449.39 495.33 T (ecution) 454.24 495.33 T (because) 486.85 495.33 T (their) 521.67 495.33 T (e) 72 479.33 T (x) 76.29 479.33 T (ecution times are dominated by interactions with the VM.) 81.14 479.33 T (Results) 90 453.33 T (are) 121.99 453.33 T (sho) 136.75 453.33 T (wn) 150.39 453.33 T (as) 165.15 453.33 T (Case) 176.02 453.33 T (1) 198.01 453.33 T (in) 205.55 453.33 T (T) 215.87 453.33 T (able) 221.18 453.33 T (1.) 240.34 453.33 T (F) 250.38 453.33 T (or) 255.79 453.33 T (about) 266.67 453.33 T (the) 291.43 453.33 T (\336rst) 306.19 453.33 T (3,000) 324.3 453.33 T (iterations,) 349.34 453.33 T (interpreted) 391.6 453.33 T (e) 437.46 453.33 T (x) 441.75 453.33 T (ecution) 446.6 453.33 T (performs) 478.59 453.33 T (better) 517.23 453.33 T (than) 72 437.33 T (dynamically) 91.82 437.33 T (compiled) 143.85 437.33 T (e) 183.67 437.33 T (x) 187.96 437.33 T (ecution.) 192.81 437.33 T (After) 227.35 437.33 T (this,) 251.05 437.33 T (the) 270.59 437.33 T (costs) 285.41 437.33 T (of) 308.01 437.33 T (run-time) 318.94 437.33 T (compilation) 355.97 437.33 T (are) 406.35 437.33 T (reco) 421.16 437.33 T (v) 438.22 437.33 T (ered,) 443.07 437.33 T (and) 465.38 437.33 T (dynamic) 482.41 437.33 T (com-) 519.45 437.33 T (pilation) 72 421.33 T (performs) 105.34 421.33 T (better) 144.22 421.33 T (.) 166.44 421.33 T (Ho) 171.71 421.33 T (we) 183.68 421.33 T (v) 195.09 421.33 T (er) 199.94 421.33 T (,) 207.31 421.33 T (there) 212.59 421.33 T (are) 235.36 421.33 T (no) 250.35 421.33 T (great) 263.13 421.33 T (impro) 285.89 421.33 T (v) 309.63 421.33 T (ements) 314.48 421.33 T (in) 345.59 421.33 T (the) 356.15 421.33 T (dynamically) 371.15 421.33 T (compiled) 423.37 421.33 T (performance) 463.36 421.33 T (as) 516.67 421.33 T (the) 527.78 421.33 T (number) 72 405.33 T (of) 105.03 405.33 T (iterations) 115.84 405.33 T (increase.) 155.54 405.33 T (This) 193.27 405.33 T (is) 213.53 405.33 T (due) 222.68 405.33 T (to) 239.6 405.33 T (VM) 249.86 405.33 T (interactions) 268.45 405.33 T (with) 317.58 405.33 T (the) 337.84 405.33 T (nati) 352.54 405.33 T (v) 367.29 405.33 T (e) 372.14 405.33 T (code) 379.06 405.33 T (due) 400.42 405.33 T (to) 417.34 405.33 T (object) 427.6 405.33 T (creates) 454.51 405.33 T (and) 484.75 405.33 T (modi\336ca-) 501.67 405.33 T (tions) 72 386.67 T 0 8 Q (1) 91.45 390.67 T 0 10 Q (.) 95.45 386.67 T (Also,) 101.77 386.67 T (the) 126.98 386.67 T (decrease) 143.02 386.67 T (in) 181.26 386.67 T (speed-up) 192.86 386.67 T (v) 232.78 386.67 T (alues) 237.53 386.67 T (between) 261.9 386.67 T (10,000) 299.04 386.67 T (and) 330.36 386.67 T (100,000) 348.62 386.67 T (iterations) 384.95 386.67 T (is) 425.99 386.67 T (due) 436.48 386.67 T (to) 454.74 386.67 T (an) 466.34 386.67 T (increase) 479.6 386.67 T (in) 516.18 386.67 T (the) 527.78 386.67 T (amount) 72 370 T (of) 104.78 370 T (VM) 115.89 370 T (interaction) 134.77 370 T (caused) 180.32 370 T (by) 210.31 370 T (lar) 223.09 370 T (ger) 233.46 370 T (V) 249 370 T (ector) 255.11 370 T (copies) 277.88 370 T (and) 306.21 370 T (more) 323.43 370 T (g) 346.75 370 T (arbage) 351.7 370 T (collection) 381.13 370 T (in) 423.35 370 T (the) 433.91 370 T (100,000) 448.9 370 T (iteration) 484.18 370 T (case.) 520.29 370 T (Each) 72 354 T (method\325) 94.99 354 T (s) 127.77 354 T (nati) 134.65 354 T (v) 149.4 354 T (e) 154.25 354 T (e) 161.69 354 T (x) 165.98 354 T (ecution) 170.83 354 T (consists) 203.26 354 T (of) 237.93 354 T (part) 249.26 354 T (direct) 267.8 354 T (e) 293.57 354 T (x) 297.86 354 T (ecution) 302.71 354 T (of) 335.14 354 T (nati) 346.47 354 T (v) 361.22 354 T (e) 366.07 354 T (code) 373.51 354 T (and) 395.38 354 T (part) 412.82 354 T (VM) 431.36 354 T (interaction;) 450.47 354 T (in) 499.02 354 T (the) 509.79 354 T (for-) 525.01 354 T (mula) 72 336.17 T (on) 94.66 336.17 T (P) 107.32 336.17 T (age) 112.73 336.17 T (3,) 129.27 336.17 T (the) 139.43 336.17 T (term) 216.47 336.17 T (can) 237.46 336.17 T (be) 254 336.17 T (written) 266.1 336.17 T (as) 297.09 336.17 T (.) 451.58 336.17 T (In) 456.74 336.17 T (this) 467.73 336.17 T (application,) 484.84 336.17 T (it) 534.44 336.17 T (is) 72 319 T (lik) 81.39 319 T (ely) 91.85 319 T (that) 106.79 319 T (the) 124.5 319 T 4 F (VMInter) 139.44 319 T (action) 173.17 319 T 0 F (term) 200.89 319 T (dominates) 221.94 319 T (this) 265.77 319 T (e) 282.94 319 T (xpression,) 287.23 319 T (and) 330.77 319 T (as) 347.93 319 T (a) 358.98 319 T (result,) 366.14 319 T (dynamic) 393.58 319 T (compilation) 430.73 319 T (does) 481.23 319 T (not) 502.28 319 T (result) 517.78 319 T (in) 72 303 T (much) 82.92 303 T (performance) 108.28 303 T (impro) 161.95 303 T (v) 185.69 303 T (ement.) 190.54 303 T (Performance) 220.62 303 T (data) 274.85 303 T (that) 294.65 303 T (represent) 312.79 303 T (VM) 352.57 303 T (costs) 371.82 303 T (of) 394.96 303 T (object) 406.43 303 T (creation) 434.01 303 T (and) 469.36 303 T (modi\336cation,) 486.94 303 T (and) 72 287 T (can) 89.05 287 T (associate) 105.55 287 T (these) 144.26 287 T (costs) 167.43 287 T (with) 190.04 287 T (particular) 210.43 287 T (AP) 251.37 287 T (methods,) 266.76 287 T (can) 305.76 287 T (be) 322.26 287 T (used) 334.31 287 T (by) 355.26 287 T (an) 367.87 287 T (AP) 379.92 287 T (de) 395.32 287 T (v) 404.51 287 T (eloper) 409.36 287 T (to) 436.96 287 T (tune) 447.36 287 T (the) 467.19 287 T (AP) 482.02 287 T (.) 493.69 287 T (F) 498.81 287 T (or) 504.22 287 T (e) 515.16 287 T (xam-) 519.45 287 T (ple,) 72 271 T (if) 90.04 271 T (performance) 99.47 271 T (data) 153.32 271 T (v) 173.3 271 T (eri\336es) 178.15 271 T (that) 205.91 271 T (VM) 224.23 271 T (object) 243.66 271 T (creation) 271.42 271 T (costs) 306.95 271 T (dominate) 330.28 271 T (the) 370.82 271 T (e) 386.36 271 T (x) 390.65 271 T (ecution) 395.5 271 T (of) 428.26 271 T (the) 439.91 271 T (nati) 455.45 271 T (v) 470.2 271 T (e) 475.05 271 T (and) 482.81 271 T (byte-code) 500.57 271 T (forms of a method, then the AP de) 72 255 T (v) 209.51 255 T (eloper could try to mo) 214.36 255 T (v) 303.09 255 T (e to a more static structure.) 307.94 255 T 1 F (Case) 90 229 T (2:) 114.25 229 T (Methods) 126.28 229 T (whose) 167.2 229 T (perf) 197.01 229 T (ormance) 214.53 229 T (is) 255.44 229 T (not) 265.81 229 T (dominated) 283.4 229 T (by) 332.66 229 T (inter) 346.92 229 T (pr) 367.37 229 T (eting) 377.19 229 T (byte-code:) 402 229 T 0 F (A) 450.13 229 T (method\325) 461.05 229 T (s) 493.83 229 T (e) 501.42 229 T (x) 505.71 229 T (ecution) 510.56 229 T (time) 72 213 T (can) 93.57 213 T (be) 111.24 213 T (dominated) 124.47 213 T (by) 170.49 213 T (costs) 184.28 213 T (other) 208.07 213 T (than) 232.41 213 T (e) 253.42 213 T (x) 257.71 213 T (ecuting) 262.56 213 T (code) 295.8 213 T (\050e.g.,) 318.47 213 T (I/O) 342.53 213 T (or) 359.65 213 T (synchronization) 371.77 213 T (costs\051.) 439.44 213 T (F) 469.06 213 T (or) 474.48 213 T (this) 486.6 213 T (case,) 504.84 213 T (we) 528.34 213 T (implemented) 72 197 T (a) 127.35 197 T (Ja) 134.91 197 T (v) 143.04 197 T (a) 147.79 197 T (application) 155.35 197 T (k) 202.92 197 T (ernel) 207.82 197 T (consisting) 230.93 197 T (of) 274.62 197 T (a) 286.08 197 T (main) 293.64 197 T (loop) 316.77 197 T (method) 337.67 197 T (that) 370.8 197 T (calls) 388.92 197 T (a) 410.38 197 T (method) 417.94 197 T (to) 451.07 197 T (read) 461.97 197 T (a) 482.3 197 T (line) 489.87 197 T (from) 507.99 197 T (an) 530.56 197 T (input) 72 181 T (\336le,) 95.17 181 T (and) 113.06 181 T (then) 130.11 181 T (calls) 149.95 181 T (a) 170.89 181 T (method) 177.94 181 T (to) 210.55 181 T (write) 220.94 181 T (the) 244.1 181 T (line) 258.93 181 T (to) 276.55 181 T (an) 286.94 181 T (output) 298.99 181 T (\336le.) 327.16 181 T (Our) 345.05 181 T (h) 363.21 181 T (ypothesis) 368.16 181 T (w) 408.55 181 T (as) 415.67 181 T (that) 426.61 181 T (dynamic) 444.23 181 T (compilation) 481.28 181 T (of) 531.67 181 T (the) 72 165 T (read) 86.76 165 T (and) 106.51 165 T (write) 123.49 165 T (methods) 146.58 165 T (will) 183.01 165 T (not) 201.11 165 T (result) 216.43 165 T (in) 241.19 165 T (much) 251.51 165 T (impro) 276.27 165 T (v) 300.02 165 T (ement) 304.86 165 T (because) 331.85 165 T (their) 366.04 165 T (nati) 386.91 165 T (v) 401.66 165 T (e) 406.51 165 T (code) 413.49 165 T (e) 434.91 165 T (x) 439.2 165 T (ecution) 444.05 165 T (is) 476.03 165 T (dominated) 485.24 165 T (by) 530 165 T (I/O costs.) 72 149 T 72 116 540 131 C 0 0 0 1 0 0 0 1 K 81 129 225 129 2 L 0.5 H 2 Z 0 X N -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 9 Q 0 X (1.) 90 110 T (W) 99 110 T (e v) 106.78 110 T (eri\336ed this by measuring an all-interpreted and a dynamically compiled e) 117.39 110 T (x) 380.71 110 T (ecution for a similarly structured) 385.07 110 T (application k) 102 99 T (ernel without object creates, modi\336es or deletes. Speed ups sho) 148.66 99 T (w dynamic compilation results in better) 376.15 99 T (performance as the number of iterations increase \050for 100,000 iterations a speedup of 4.9 vs. a speed up of 1.04 for) 102 88 T (Case 1\051) 102 77 T 154.31 331.67 213.81 344.67 C 0 0 0 1 0 0 0 1 K 4 10 Q 0 X (b) 155.31 336.17 T (N) 171 336.17 T (a) 178.26 336.17 T (t) 183.85 336.17 T (i) 187.21 336.17 T (v) 190.59 336.17 T (e) 195.62 336.17 T (E) 200.64 336.17 T (x) 207.34 336.17 T 5 F (\264) 162.81 336.17 T -45 -45 657 837 C 308.08 331.67 451.58 344.67 C 0 0 0 1 0 0 0 1 K 4 10 Q 0 X (b) 309.08 336.17 T (D) 328.69 336.17 T (i) 336.5 336.17 T (r) 339.87 336.17 T (e) 344.35 336.17 T (c) 349.38 336.17 T (t) 354.41 336.17 T (E) 357.78 336.17 T (x) 364.48 336.17 T (V) 379.58 336.17 T (M) 386.28 336.17 T (I) 395.2 336.17 T (n) 399.12 336.17 T (t) 404.71 336.17 T (e) 408.08 336.17 T (r) 413.11 336.17 T (a) 417.59 336.17 T (c) 423.18 336.17 T (t) 428.21 336.17 T (i) 431.58 336.17 T (o) 434.95 336.17 T (n) 440.54 336.17 T 0 F (+) 371.45 336.17 T 5 F (\050) 324.57 336.17 T (\051) 446.25 336.17 T (\264) 316.58 336.17 T -45 -45 657 837 C 0 0 0 1 0 0 0 1 K FMENDPAGE %%EndPage: "4" 4 %%Page: "5" 5 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 5) 513.06 749.33 T (The) 90 713.33 T (results) 108.09 713.33 T (of) 136.74 713.33 T (comparing) 147.61 713.33 T (an) 192.91 713.33 T (interpreted) 204.89 713.33 T (to) 250.75 713.33 T (a) 261.07 713.33 T (dynamically) 268.05 713.33 T (compiled) 320.03 713.33 T (e) 359.79 713.33 T (x) 364.08 713.33 T (ecution) 368.93 713.33 T (on) 400.91 713.33 T (dif) 413.45 713.33 T (ferent) 424.3 713.33 T (sized) 450.16 713.33 T (input) 473.25 713.33 T (\336les) 496.35 713.33 T (\050num-) 515.56 713.33 T (ber) 72 697.33 T (of) 87.09 697.33 T (main) 97.75 697.33 T (loop) 120.07 697.33 T (iterations\051) 140.18 697.33 T (are) 183.05 697.33 T (sho) 197.58 697.33 T (wn) 211.22 697.33 T (as) 225.77 697.33 T (Case) 236.42 697.33 T (2) 258.18 697.33 T (in) 265.51 697.33 T (T) 275.61 697.33 T (able) 280.92 697.33 T (1.) 300.08 697.33 T (After) 309.9 697.33 T (about) 333.33 697.33 T (500) 357.87 697.33 T (iterations,) 375.2 697.33 T (the) 417.24 697.33 T (dynamically) 431.78 697.33 T (compiled) 483.55 697.33 T (e) 523.09 697.33 T (x) 527.38 697.33 T (e-) 532.23 697.33 T (cution) 72 681.33 T (performs) 100.04 681.33 T (better) 139.18 681.33 T (than) 164.99 681.33 T (the) 185.25 681.33 T (all-interpreted) 200.51 681.33 T (e) 260.2 681.33 T (x) 264.49 681.33 T (ecution.) 269.34 681.33 T (Speed-ups) 304.32 681.33 T (obtained) 349.02 681.33 T (for) 386.5 681.33 T (an) 401.2 681.33 T (increasing) 413.68 681.33 T (number) 457.82 681.33 T (of) 491.41 681.33 T (iterations) 502.78 681.33 T (are) 72 662.67 T (not) 86.73 662.67 T (that) 102.03 662.67 T (great;) 119.54 662.67 T (I/O) 144.83 662.67 T (costs) 160.68 662.67 T (dominate) 183.2 662.67 T (the) 222.94 662.67 T (nati) 237.68 662.67 T (v) 252.43 662.67 T (e) 257.28 662.67 T (code\325) 264.23 662.67 T (s) 285.89 662.67 T (e) 292.3 662.67 T (x) 296.59 662.67 T (ecution) 301.44 662.67 T (time) 333.4 662.67 T 0 8 Q (2) 351.18 666.67 T 0 10 Q (.) 355.18 662.67 T (The) 360.2 662.67 T (decrease) 378.27 662.67 T (in) 415.21 662.67 T (speed-up) 425.51 662.67 T (v) 464.12 662.67 T (alues) 468.87 662.67 T (between) 491.94 662.67 T (the) 527.78 662.67 T (10,000) 72 646.67 T (and) 102.83 646.67 T (100,000) 120.59 646.67 T (iteration) 156.42 646.67 T (case) 193.07 646.67 T (is) 213.61 646.67 T (due) 223.6 646.67 T (tw) 241.37 646.67 T (o) 251.27 646.67 T (f) 259.6 646.67 T (actors.) 262.83 646.67 T (First,) 292.53 646.67 T (each) 316.7 646.67 T (read) 338.34 646.67 T (or) 358.88 646.67 T (write) 370.54 646.67 T (system) 394.41 646.67 T (call) 425.52 646.67 T (tak) 443.28 646.67 T (es) 455.4 646.67 T (longer) 467.06 646.67 T (on) 495.93 646.67 T (a) 509.26 646.67 T (v) 513.5 646.67 T (erage) 518.35 646.67 T (\050about) 72 630.67 T (3.5%\051) 99.96 630.67 T (in) 126.53 630.67 T (the) 136.72 630.67 T (100,000) 151.35 630.67 T (case,) 186.25 630.67 T (because) 208.37 630.67 T (indirect) 242.43 630.67 T (blocks) 275.39 630.67 T (are) 303.91 630.67 T (used) 318.53 630.67 T (when) 339.27 630.67 T (accessing) 363.34 630.67 T (the) 404.07 630.67 T (input) 418.69 630.67 T (and) 441.66 630.67 T (output) 458.51 630.67 T (\336les.) 486.48 630.67 T (Second,) 508.06 630.67 T (there) 72 614.67 T (is) 95.28 614.67 T (an) 105.25 614.67 T (increase) 117.98 614.67 T (in) 154.03 614.67 T (the) 165.1 614.67 T (amount) 180.62 614.67 T (of) 213.91 614.67 T (VM) 225.53 614.67 T (interaction) 244.93 614.67 T (caused) 291 614.67 T (by) 321.5 614.67 T (g) 334.79 614.67 T (arbage) 339.74 614.67 T (collection) 369.69 614.67 T (of) 412.42 614.67 T (temporary) 424.04 614.67 T (objects) 468.43 614.67 T (created) 500.06 614.67 T (in) 532.22 614.67 T (DataOutputStream) 72 598.67 T (and) 149.26 598.67 T (DataInputStream) 165.98 598.67 T (methods;) 236.57 598.67 T (for) 275.52 598.67 T (lar) 289.45 598.67 T (ger) 299.82 598.67 T (f) 314.87 598.67 T (iles,) 317.65 598.67 T (more) 336.31 598.67 T (temporary) 359.14 598.67 T (objects) 402.51 598.67 T (are) 433.12 598.67 T (created) 447.6 598.67 T (and,) 478.75 598.67 T (as) 497.96 598.67 T (a) 508.57 598.67 T (result,) 515.28 598.67 T (VM g) 72 582.67 T (arbage collection acti) 95.56 582.67 T (vity increases) 180.84 582.67 T (Performance) 90 556.67 T (data) 144.14 556.67 T (that) 163.86 556.67 T (represent) 181.91 556.67 T (I/O) 221.61 556.67 T (costs) 237.99 556.67 T (associated) 261.05 556.67 T (with) 305.2 556.67 T (a) 326.03 556.67 T (method\325) 333.53 556.67 T (s) 366.31 556.67 T (e) 373.25 556.67 T (x) 377.54 556.67 T (ecution) 382.39 556.67 T (could) 414.88 556.67 T (be) 440.15 556.67 T (used) 452.65 556.67 T (by) 474.03 556.67 T (an) 487.08 556.67 T (AP) 499.58 556.67 T (de) 515.41 556.67 T (v) 524.6 556.67 T (el-) 529.45 556.67 T (oper) 72 540.67 T (to) 92.17 540.67 T (tune) 102.34 540.67 T (the) 121.96 540.67 T (AP) 136.57 540.67 T (.) 148.24 540.67 T (F) 153.14 540.67 T (or) 158.55 540.67 T (e) 169.27 540.67 T (xample,) 173.56 540.67 T (performance) 207.9 540.67 T (data) 260.82 540.67 T (that) 279.88 540.67 T (indicate) 297.27 540.67 T (a) 331.33 540.67 T (method\325) 338.17 540.67 T (s) 370.95 540.67 T (e) 377.23 540.67 T (x) 381.52 540.67 T (ecution) 386.37 540.67 T (time) 418.21 540.67 T (is) 438.38 540.67 T (dominated) 447.45 540.67 T (by) 492.06 540.67 T (perform-) 504.46 540.67 T (ing) 72 524.67 T (se) 87.09 524.67 T (v) 95.17 524.67 T (eral) 100.02 524.67 T (small) 117.33 524.67 T (writes) 141.31 524.67 T (could) 168.07 524.67 T (be) 192.6 524.67 T (used) 204.35 524.67 T (by) 225 524.67 T (an) 237.31 524.67 T (AP) 249.07 524.67 T (de) 264.16 524.67 T (v) 273.35 524.67 T (eloper) 278.2 524.67 T (to) 305.5 524.67 T (reduce) 315.6 524.67 T (the) 344.56 524.67 T (number) 359.1 524.67 T (of) 391.96 524.67 T (writes) 402.6 524.67 T (\050possibly) 429.36 524.67 T (by) 468.34 524.67 T (b) 480.66 524.67 T (uf) 485.46 524.67 T (fering\051,) 493.54 524.67 T (and) 525.56 524.67 T (as a result, reduce these I/O costs.) 72 508.67 T 1 F (Case) 90 482.67 T (3:) 114.14 482.67 T (Methods) 126.05 482.67 T (with) 166.86 482.67 T (a) 189.34 482.67 T (few) 197.92 482.67 T (simple) 216.5 482.67 T (byte-code) 247.87 482.67 T (instructions:) 292.55 482.67 T 0 F (F) 350.03 482.67 T (or) 355.44 482.67 T (these) 367.36 482.67 T (methods,) 391.49 482.67 T (the) 431.47 482.67 T (time) 447.28 482.67 T (spent) 468.64 482.67 T (interpreting) 493.34 482.67 T (method) 72 466.67 T (byte-codes) 104.46 466.67 T (is) 150.25 466.67 T (small,) 159.38 466.67 T (so) 186.02 466.67 T (the) 197.37 466.67 T (e) 212.06 466.67 T (x) 216.35 466.67 T (ecution) 221.2 466.67 T (of) 253.1 466.67 T (a) 263.9 466.67 T (nati) 270.8 466.67 T (v) 285.55 466.67 T (e) 290.4 466.67 T (form) 297.3 466.67 T (of) 319.21 466.67 T (the) 330 466.67 T (method) 344.69 466.67 T (may) 377.15 466.67 T (not) 396.84 466.67 T (result) 412.08 466.67 T (in) 436.77 466.67 T (much) 447.01 466.67 T (impro) 471.7 466.67 T (v) 495.43 466.67 T (ement.) 500.29 466.67 T (T) 529.69 466.67 T (o) 535 466.67 T (test) 72 450.67 T (this) 88.37 450.67 T (case,) 105.29 450.67 T (we) 127.48 450.67 T (wrote) 141.62 450.67 T (a) 166.87 450.67 T (Ja) 173.79 450.67 T (v) 181.91 450.67 T (a) 186.66 450.67 T (application) 193.58 450.67 T (k) 240.5 450.67 T (ernel) 245.4 450.67 T (with) 267.87 450.67 T (a) 288.12 450.67 T (main) 295.04 450.67 T (loop) 317.52 450.67 T (method) 337.78 450.67 T (that) 370.26 450.67 T (calls) 387.73 450.67 T (three) 408.54 450.67 T (small) 431.01 450.67 T (methods;) 455.15 450.67 T (tw) 494.3 450.67 T (o) 504.2 450.67 T (change) 511.68 450.67 T (the) 72 434.67 T (v) 86.56 434.67 T (alue) 91.31 434.67 T (of) 110.31 434.67 T (a) 120.98 434.67 T (data) 127.76 434.67 T (member) 146.76 434.67 T (and) 181.87 434.67 T (one) 198.65 434.67 T (returns) 215.43 434.67 T (the) 245.54 434.67 T (v) 260.1 434.67 T (alue) 264.85 434.67 T (of) 283.84 434.67 T (a) 294.51 434.67 T (data) 301.29 434.67 T (member) 320.29 434.67 T (.) 352.51 434.67 T (Our) 357.35 434.67 T (h) 375.24 434.67 T (ypothesis) 380.19 434.67 T (w) 420.31 434.67 T (as) 427.43 434.67 T (that) 438.1 434.67 T (dynamic) 455.44 434.67 T (compilation) 492.22 434.67 T (of) 72 418.67 T (these) 84.07 418.67 T (three) 108.37 418.67 T (small) 132.1 418.67 T (methods) 157.52 418.67 T (will) 195.15 418.67 T (not) 214.46 418.67 T (result) 230.98 418.67 T (in) 256.94 418.67 T (much) 268.47 418.67 T (impro) 294.43 418.67 T (v) 318.17 418.67 T (ement) 323.02 418.67 T (because) 351.2 418.67 T (their) 386.6 418.67 T (interpreted) 408.67 418.67 T (e) 455.74 418.67 T (x) 460.03 418.67 T (ecution) 464.88 418.67 T (is) 498.06 418.67 T (not) 508.48 418.67 T (that) 525 418.67 T (e) 72 402.67 T (xpensi) 76.29 402.67 T (v) 102.15 402.67 T (e.) 107 402.67 T (The) 90 376.67 T (results) 107.96 376.67 T (\050Case) 136.49 376.67 T (3) 161.67 376.67 T (in) 169.08 376.67 T (T) 179.27 376.67 T (able) 184.58 376.67 T (1\051) 203.74 376.67 T (sho) 214.49 376.67 T (w) 228.13 376.67 T (that) 237.76 376.67 T (there) 255.17 376.67 T (are) 277.57 376.67 T (a) 292.2 376.67 T (non-tri) 299.05 376.67 T (vial) 326.02 376.67 T (number) 343.43 376.67 T (of) 376.39 376.67 T (iterations) 387.14 376.67 T (\050about) 426.77 376.67 T (25,000\051) 454.73 376.67 T (where) 487.98 376.67 T (an) 514.82 376.67 T (all-) 526.67 376.67 T (interpreted) 72 360.67 T (e) 117.71 360.67 T (x) 122 360.67 T (ecution) 126.86 360.67 T (outperforms) 158.69 360.67 T (a) 209.97 360.67 T (dynamically) 216.8 360.67 T (compiled) 268.64 360.67 T (e) 308.25 360.67 T (x) 312.54 360.67 T (ecution.) 317.39 360.67 T (Ho) 351.73 360.67 T (we) 363.7 360.67 T (v) 375.11 360.67 T (er) 379.96 360.67 T (,) 387.33 360.67 T (as) 392.22 360.67 T (the) 402.95 360.67 T (number) 417.56 360.67 T (of) 450.51 360.67 T (iterations) 461.23 360.67 T (increases,) 500.85 360.67 T (the) 72 344.67 T (penalty) 86.76 344.67 T (for) 118.75 344.67 T (continuing) 132.95 344.67 T (to) 178.27 344.67 T (interpret) 188.6 344.67 T (is) 225.02 344.67 T (high,) 234.23 344.67 T (partly) 257.06 344.67 T (because) 282.93 344.67 T (of) 317.12 344.67 T (the) 328 344.67 T (high) 342.76 344.67 T (o) 363.08 344.67 T (v) 367.93 344.67 T (erhead) 372.79 344.67 T (of) 401.98 344.67 T (the) 412.85 344.67 T (VM) 427.61 344.67 T (to) 446.27 344.67 T (interpret) 456.59 344.67 T (method) 493.02 344.67 T (call) 525.56 344.67 T (instructions) 72 326 T (vs.) 120.92 326 T (the) 134.57 326 T (cost) 149.04 326 T (of) 167.4 326 T (directly) 177.98 326 T (e) 210.79 326 T (x) 215.07 326 T (ecuting) 219.93 326 T (a) 251.62 326 T (nati) 258.31 326 T (v) 273.06 326 T (e) 277.91 326 T (code) 284.6 326 T (call) 305.73 326 T (instruction) 322.43 326 T 0 8 Q (3) 365.21 330 T 0 10 Q (.) 369.21 326 T (Performance) 373.96 326 T (data) 427.3 326 T (that) 446.21 326 T (e) 463.47 326 T (xplicitly) 467.76 326 T (represent) 503.35 326 T (VM) 72 309.33 T (method) 90.72 309.33 T (call) 123.33 309.33 T (o) 140.39 309.33 T (v) 145.24 309.33 T (erheads,) 150.09 309.33 T (VM) 185.74 309.33 T (costs) 204.46 309.33 T (to) 227.08 309.33 T (interpret) 237.47 309.33 T (byte-codes,) 273.96 309.33 T (and) 322.39 309.33 T (VM) 339.45 309.33 T (costs) 358.17 309.33 T (to) 380.78 309.33 T (e) 391.17 309.33 T (x) 395.46 309.33 T (ecute) 400.31 309.33 T (nati) 424.03 309.33 T (v) 438.78 309.33 T (e) 443.63 309.33 T (code) 450.68 309.33 T (could) 472.17 309.33 T (be) 497.01 309.33 T (used) 509.06 309.33 T (by) 530 309.33 T (an AP de) 72 293.33 T (v) 108.41 293.33 T (eloper to identify that interpreted call instructions are e) 113.26 293.33 T (xpensi) 333.07 293.33 T (v) 358.93 293.33 T (e.) 363.78 293.33 T (The) 90 267.33 T (result) 108.9 267.33 T (of) 134.47 267.33 T (this) 146.15 267.33 T (study) 163.95 267.33 T (points) 188.96 267.33 T (to) 216.76 267.33 T (speci\336c) 227.89 267.33 T (e) 261.79 267.33 T (xamples) 266.08 267.33 T (where) 302.76 267.33 T (detailed) 330.54 267.33 T (performance) 365.55 267.33 T (measures) 419.42 267.33 T (from) 459.98 267.33 T (a) 482.77 267.33 T (dynamically) 490.56 267.33 T (compiled) 72 251.33 T (e) 111.83 251.33 T (x) 116.12 251.33 T (ecution) 120.97 251.33 T (can) 153.02 251.33 T (pro) 169.51 251.33 T (vide) 182.69 251.33 T (information) 202.52 251.33 T (that) 252.35 251.33 T (is) 269.96 251.33 T (critical) 279.23 251.33 T (to) 309.61 251.33 T (understanding) 320 251.33 T (the) 379.27 251.33 T (e) 394.1 251.33 T (x) 398.39 251.33 T (ecution.) 403.24 251.33 T (F) 437.79 251.33 T (or) 443.2 251.33 T (real) 454.14 251.33 T (Ja) 471.74 251.33 T (v) 479.87 251.33 T (a) 484.62 251.33 T (applications) 491.67 251.33 T (consisting) 72 235.33 T (of) 115.06 235.33 T (thousands) 125.89 235.33 T (of) 168.39 235.33 T (methods,) 179.22 235.33 T (some) 218.11 235.33 T (with) 241.72 235.33 T (complicated) 262 235.33 T (control) 313.38 235.33 T (\337o) 344.2 235.33 T (w) 354.51 235.33 T (structure,) 364.23 235.33 T (a) 404.22 235.33 T (performance) 411.16 235.33 T (tool) 464.19 235.33 T (that) 482.25 235.33 T (can) 499.75 235.33 T (repre-) 516.13 235.33 T (sent) 72 219.33 T (speci\336c) 91.14 219.33 T (VM) 124.72 219.33 T (and) 143.85 219.33 T (I/O) 161.32 219.33 T (costs) 177.68 219.33 T (associated) 200.71 219.33 T (with) 244.84 219.33 T (byte-code) 265.64 219.33 T (and) 308.1 219.33 T (nati) 325.57 219.33 T (v) 340.32 219.33 T (e) 345.17 219.33 T (code) 352.64 219.33 T (can) 374.55 219.33 T (be) 391.45 219.33 T (used) 403.92 219.33 T (by) 425.28 219.33 T (an) 438.31 219.33 T (AP) 450.77 219.33 T (de) 466.58 219.33 T (v) 475.77 219.33 T (eloper) 480.62 219.33 T (to) 508.64 219.33 T (more) 519.45 219.33 T (easily) 72 203.33 T (determine) 98.29 203.33 T (which) 141.25 203.33 T (AP) 168.65 203.33 T (methods) 184.4 203.33 T (to) 221.25 203.33 T (tune) 232 203.33 T (and) 252.18 203.33 T (ho) 269.59 203.33 T (w) 279.34 203.33 T (to) 289.52 203.33 T (tune) 300.27 203.33 T (them.) 320.45 203.33 T (In) 345.92 203.33 T (Section) 357.21 203.33 T (5,) 389.71 203.33 T (we) 400.18 203.33 T (discuss) 414.8 203.33 T (the) 446.65 203.33 T (implications) 461.84 203.33 T (of) 514.26 203.33 T (this) 525.55 203.33 T (study for a VM de) 72 187.33 T (v) 145.07 187.33 T (eloper) 149.92 187.33 T (.) 174.36 187.33 T 72 149 540 164 C 0 0 0 1 0 0 0 1 K 81 162 225 162 2 L 0.5 H 2 Z 0 X N -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 9 Q 0 X (2.) 90 143 T (W) 99 143 T (e v) 106.78 143 T (eri\336ed this by measuring an all-interpreted and a dynamically compiled e) 117.39 143 T (x) 380.71 143 T (ecution for a similarly structured) 385.07 143 T (application k) 102 132 T (ernel without I/O acti) 148.66 132 T (vity) 225.67 132 T (. Speed ups sho) 239.09 132 T (w dynamic compilation results in better performance as the) 294.86 132 T (number of iterations increase \050for 100,000 iterations a speedup of 4.9 vs. a speed up of 1.02 for Case 2\051) 102 121 T (3.) 90 110 T (W) 99 110 T (e) 106.78 110 T (v) 112.94 110 T (eri\336ed) 117.31 110 T (this) 142.47 110 T (by) 157.64 110 T (measuring) 168.81 110 T (an) 208.47 110 T (all-interpreted) 219.14 110 T (and) 272.29 110 T (a) 287.45 110 T (dynamically) 293.62 110 T (compiled) 340.28 110 T (e) 375.95 110 T (x) 379.81 110 T (ecution) 384.18 110 T (of) 412.84 110 T (a) 422.51 110 T (similarly) 428.67 110 T (structured) 462.84 110 T (appli-) 501 110 T (cation) 102 99 T (k) 126.01 99 T (ernel) 130.42 99 T (that) 150.42 99 T (mak) 165.94 99 T (es) 181.34 99 T (calls) 190.85 99 T (to) 209.36 99 T (empty) 218.38 99 T (methods) 242.89 99 T (\050the) 275.4 99 T (cost) 291.41 99 T (of) 307.92 99 T (e) 317.43 99 T (x) 321.3 99 T (ecuting) 325.66 99 T (the) 354.17 99 T (method) 367.18 99 T (is) 396.19 99 T (just) 404.21 99 T (the) 419.23 99 T (VM) 432.24 99 T (o) 448.75 99 T (v) 453.11 99 T (erheads) 457.48 99 T (to) 486.98 99 T (handle) 495.99 99 T (method) 102 88 T (calls) 131.18 88 T (and) 149.85 88 T (returns\051.) 165.02 88 T (F) 197.43 88 T (or) 202.3 88 T (10,000,0000) 211.97 88 T (iterations) 259.15 88 T (there) 294.82 88 T (w) 314.99 88 T (as) 321.39 88 T (a) 331.07 88 T (speed) 337.24 88 T (up) 359.9 88 T (of) 371.08 88 T (31.8,) 380.75 88 T (and) 400.93 88 T (for) 416.1 88 T (a) 428.77 88 T (v) 434.94 88 T (ersion) 439.3 88 T (with) 463.47 88 T (no) 481.65 88 T (method) 492.83 88 T (call o) 102 77 T (v) 121.61 77 T (erheads \050all code is in the main loop\051 a speed up of 11.2.) 125.98 77 T FMENDPAGE %%EndPage: "5" 5 %%Page: "6" 6 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 6) 513.06 749.33 T 1 13 Q (3 A PERFORMANCE T) 72 528.33 T (OOL FOR D) 208.62 528.33 T (YN) 280.33 528.33 T (AMICALL) 298.84 528.33 T (Y COMPILED J) 360.47 528.33 T (A) 453.97 528.33 T (V) 461.47 528.33 T (A) 469.1 528.33 T 0 10 Q (W) 72 504.33 T (e) 80.64 504.33 T (present) 88.08 504.33 T (P) 119.96 504.33 T (aradyn-J,) 125.37 504.33 T (a) 165.3 504.33 T (prototype) 172.74 504.33 T (implementation) 214.07 504.33 T (of) 279.85 504.33 T (a) 291.17 504.33 T (performance) 298.61 504.33 T (tool) 352.14 504.33 T (for) 370.7 504.33 T (measuring) 385.36 504.33 T (dynamically) 430.02 504.33 T (compiled) 482.46 504.33 T (Ja) 522.68 504.33 T (v) 530.81 504.33 T (a) 535.56 504.33 T (e) 72 488.33 T (x) 76.29 488.33 T (ecutions.) 81.14 488.33 T (P) 119.3 488.33 T (aradyn-J) 124.71 488.33 T (generates) 161.48 488.33 T (and) 201.57 488.33 T (inserts) 218.34 488.33 T (\050or) 246.79 488.33 T (remo) 260.78 488.33 T (v) 281.18 488.33 T (es\051) 286.03 488.33 T (instrumentation) 300.02 488.33 T (code) 365.14 488.33 T (into) 386.35 488.33 T (AP) 404.24 488.33 T (and) 419.36 488.33 T (VM) 436.13 488.33 T (code) 454.58 488.33 T (at) 475.79 488.33 T (run-time;) 485.34 488.33 T (as) 524.9 488.33 T (a) 535.56 488.33 T (result,) 72 472.33 T (P) 98.98 472.33 T (aradyn-J) 104.39 472.33 T (requires) 141.07 472.33 T (no) 175.54 472.33 T (modi\336cations) 187.8 472.33 T (to) 244.51 472.33 T (the) 254.54 472.33 T (VM) 269.02 472.33 T (nor) 287.39 472.33 T (to) 302.98 472.33 T (the) 313.01 472.33 T (AP) 327.49 472.33 T (prior) 342.53 472.33 T (to) 364.23 472.33 T (e) 374.26 472.33 T (x) 378.55 472.33 T (ecution.) 383.4 472.33 T (W) 417.6 472.33 T (e) 426.24 472.33 T (w) 432.94 472.33 T (anted) 440.06 472.33 T (to) 463.98 472.33 T (implement) 474.01 472.33 T (P) 519.05 472.33 T (ara-) 524.46 472.33 T (dyn-J) 72 456.33 T (to) 97.88 456.33 T (measure) 109.31 456.33 T (a) 146.29 456.33 T (real) 154.38 456.33 T (Ja) 173.03 456.33 T (v) 181.16 456.33 T (a) 185.91 456.33 T (dynamic) 194.01 456.33 T (compiler) 232.1 456.33 T (,) 267.25 456.33 T (unfortunately) 273.41 456.33 T (,) 326.64 456.33 T (no) 332.8 456.33 T (source) 346.45 456.33 T (code) 376.21 456.33 T (w) 398.74 456.33 T (as) 405.86 456.33 T (a) 417.85 456.33 T (v) 422.09 456.33 T (ailable) 426.84 456.33 T (for) 457.16 456.33 T (ExactVM) 472.47 456.33 T ([19]or) 515.01 456.33 T (HotSpot[4].) 72 440.33 T (Instead,) 123.87 440.33 T (we) 159.62 440.33 T (simulated) 175.65 440.33 T (dynamic) 218.9 440.33 T (compilation,) 257.71 440.33 T (and) 312.36 440.33 T (b) 331.17 440.33 T (uilt) 335.97 440.33 T (P) 353.68 440.33 T (aradyn-J) 359.09 440.33 T (to) 397.89 440.33 T (measure) 410.04 440.33 T (its) 447.72 440.33 T (e) 461.54 440.33 T (x) 465.83 440.33 T (ecution.) 470.68 440.33 T (W) 506.99 440.33 T (e) 515.63 440.33 T (\336rst) 524.44 440.33 T (present our simulation and then the details of P) 72 424.33 T (aradyn-J\325) 260.17 424.33 T (s implementation.) 297.38 424.33 T 1 13 Q (3.1 Simulation of a Dynamic Compiler) 72 400.33 T 0 10 Q (Our) 72 378.33 T (simulation) 90.61 378.33 T (approximates) 135.89 378.33 T (the) 192.82 378.33 T (three) 208.1 378.33 T (main) 231.14 378.33 T (run-time) 254.2 378.33 T (acti) 291.69 378.33 T (vities) 305.88 378.33 T (in) 330.61 378.33 T (a) 341.44 378.33 T (dynamically) 348.94 378.33 T (compiled) 401.43 378.33 T (e) 441.7 378.33 T (x) 445.99 378.33 T (ecution:) 450.85 378.33 T (interpretation) 486.12 378.33 T (of) 72 362.33 T (method) 83 362.33 T (byte-code;) 115.66 362.33 T (run-time) 160.54 362.33 T (compilation) 197.65 362.33 T (of) 248.09 362.33 T (some) 259.09 362.33 T (methods;) 282.86 362.33 T (and) 322.2 362.33 T (direct) 339.31 362.33 T (e) 364.74 362.33 T (x) 369.03 362.33 T (ecution) 373.88 362.33 T (of) 405.99 362.33 T (the) 416.98 362.33 T (nati) 431.87 362.33 T (v) 446.62 362.33 T (e) 451.47 362.33 T (form) 458.58 362.33 T (of) 480.68 362.33 T (transformed) 491.68 362.33 T (methods.) 72 346.33 T (W) 111.17 346.33 T (e) 119.81 346.33 T (simulate) 127.03 346.33 T (dynamic) 163.7 346.33 T (compilation) 200.92 346.33 T (by) 251.48 346.33 T (modifying) 264.26 346.33 T (the) 308.71 346.33 T (Ja) 323.7 346.33 T (v) 331.83 346.33 T (a) 336.58 346.33 T (application) 343.8 346.33 T (and) 391.02 346.33 T (running) 408.24 346.33 T (it) 442.13 346.33 T (with) 450.47 346.33 T (a) 471.03 346.33 T (Ja) 478.25 346.33 T (v) 486.38 346.33 T (a) 491.13 346.33 T (interpreter) 498.35 346.33 T (\050JDK) 72 330.33 T (1.1.6) 96.83 330.33 T (running) 120 330.33 T (on) 154.29 330.33 T (Solaris) 167.46 330.33 T (2.6\051.) 198.41 330.33 T (The) 219.91 330.33 T (VM) 238.64 330.33 T (handles) 257.92 330.33 T (all) 291.64 330.33 T (class) 304.82 330.33 T (loading,) 327.43 330.33 T (e) 363.1 330.33 T (xception) 367.39 330.33 T (handling,) 405 330.33 T (g) 445.67 330.33 T (arbage) 450.62 330.33 T (collection,) 480.45 330.33 T (and) 525.56 330.33 T (object) 72 314.33 T (creation.) 98.87 314.33 T (A) 136.01 314.33 T (\322dynamically) 145.67 314.33 T (compiled\323) 201.98 314.33 T (method) 246.07 314.33 T (is) 278.51 314.33 T (replaced) 287.61 314.33 T (with) 323.91 314.33 T (a) 344.12 314.33 T (wrapper) 350.99 314.33 T (function) 386.19 314.33 T (that) 421.95 314.33 T (initially) 439.38 314.33 T (calls) 472.93 314.33 T (a) 493.7 314.33 T (byte-code) 500.57 314.33 T (v) 72 298.33 T (ersion) 76.85 298.33 T (of) 104.24 298.33 T (the) 115.53 298.33 T (method.) 130.7 298.33 T (After) 166.16 298.33 T (we) 190.21 298.33 T (reach) 204.83 298.33 T (a) 229.43 298.33 T (threshold) 236.83 298.33 T (\050based) 277 298.33 T (on) 306.05 298.33 T (number) 319.01 298.33 T (of) 352.51 298.33 T (calls\051) 363.8 298.33 T (the) 388.41 298.33 T (wrapper) 403.59 298.33 T (calls) 439.3 298.33 T (a) 460.59 298.33 T (routine) 467.98 298.33 T (that) 499.27 298.33 T (simu-) 517.22 298.33 T (lates) 72 282.33 T (the) 93.08 282.33 T (method\325) 108.06 282.33 T (s) 140.84 282.33 T (run-time) 147.49 282.33 T (compilation.) 184.68 282.33 T (The) 237.72 282.33 T (\322compiling\323) 256.02 282.33 T (routine) 308.22 282.33 T (tak) 339.3 282.33 T (es) 351.42 282.33 T (an) 362.51 282.33 T (estimated) 374.7 282.33 T (compiling) 415.79 282.33 T (time) 459.1 282.33 T (as) 479.64 282.33 T (a) 490.73 282.33 T (parameter) 497.92 282.33 T (,) 537.5 282.33 T (and) 72 266.33 T (it) 89.13 266.33 T (w) 97.39 266.33 T (aits) 104.51 266.33 T (for) 121.09 266.33 T (the) 135.44 266.33 T (speci\336ed) 150.35 266.33 T (time.) 188.6 266.33 T (F) 211.57 266.33 T (or) 216.98 266.33 T (all) 228 266.33 T (subsequent) 240.7 266.33 T (calls) 287.83 266.33 T (to) 308.85 266.33 T (the) 319.33 266.33 T (method,) 334.24 266.33 T (the) 369.43 266.33 T (wrapper) 384.34 266.33 T (function) 419.8 266.33 T (calls) 455.82 266.33 T (a) 476.84 266.33 T (nati) 483.98 266.33 T (v) 498.73 266.33 T (e) 503.58 266.33 T (v) 510.71 266.33 T (ersion) 515.56 266.33 T (of) 72 250.33 T (the) 83.65 250.33 T (method.) 99.2 250.33 T (The) 135.02 250.33 T (nati) 153.9 250.33 T (v) 168.65 250.33 T (e) 173.5 250.33 T (v) 181.26 250.33 T (ersion) 186.11 250.33 T (is) 213.88 250.33 T (written) 223.87 250.33 T (in) 255.53 250.33 T (C) 266.63 250.33 T (with) 276.62 250.33 T (minimal) 297.73 250.33 T (use) 334.39 250.33 T (of) 351.05 250.33 T (the) 362.7 250.33 T (JNI) 378.25 250.33 T (interf) 396.01 250.33 T (ace) 417.57 250.33 T ([17].) 434.22 250.33 T (It) 456.7 250.33 T (is) 466.14 250.33 T (compiled) 476.13 250.33 T (into) 516.67 250.33 T (a) 535.56 250.33 T (shared) 72 234.33 T (object) 101.48 234.33 T (that) 129.31 234.33 T (the) 147.69 234.33 T (VM) 163.29 234.33 T (loads) 182.79 234.33 T (at) 207.28 234.33 T (run-time.) 217.88 234.33 T (W) 258.2 234.33 T (e) 266.85 234.33 T (approximated) 274.67 234.33 T (each) 333.04 234.33 T (method\325) 354.74 234.33 T (s) 387.52 234.33 T (compile) 394.8 234.33 T (time) 430.4 234.33 T (by) 451.56 234.33 T (timing) 464.95 234.33 T (ExactVM\325) 494.45 234.33 T (s) 536.11 234.33 T (run-time compilation of each method.) 72 218.33 T 1 13 Q (3.2 Dynamic Instrumentation f) 72 194.33 T (or VM Code) 242.83 194.33 T 0 10 Q (P) 72 172.33 T (aradyn-J) 77.41 172.33 T (uses) 115.68 172.33 T (P) 136.75 172.33 T (aradyn\325) 142.16 172.33 T (s) 172.15 172.33 T (dynamic) 179.88 172.33 T (instrumentation) 218.16 172.33 T ([5]) 284.78 172.33 T (to) 300.29 172.33 T (insert) 311.91 172.33 T (and) 337.97 172.33 T (delete) 356.26 172.33 T (instrumentation) 383.98 172.33 T (code) 450.6 172.33 T (into) 473.32 172.33 T (Ja) 492.73 172.33 T (v) 500.86 172.33 T (a) 505.61 172.33 T (virtual) 513.89 172.33 T (machine) 72 156.33 T (code) 108.97 156.33 T (at) 130.95 156.33 T (an) 141.26 156.33 T (y) 150.55 156.33 T (point) 158.64 156.33 T (in) 182.3 156.33 T (the) 193.17 156.33 T (interpreted) 208.48 156.33 T (e) 254.9 156.33 T (x) 259.18 156.33 T (ecution.) 264.04 156.33 T (P) 299.07 156.33 T (aradyn\325) 304.48 156.33 T (s) 334.47 156.33 T (method) 341.45 156.33 T (for) 374.54 156.33 T (instrumenting) 389.3 156.33 T (functions) 447.95 156.33 T (is) 488.26 156.33 T (to) 498.03 156.33 T (allocate) 508.9 156.33 T (heap) 72 140.33 T (space) 93.51 140.33 T (in) 118.36 140.33 T (the) 128.77 140.33 T (application) 143.62 140.33 T (process,) 190.7 140.33 T (generate) 225.82 140.33 T (instrumentation) 262.32 140.33 T (code) 327.73 140.33 T (in) 349.25 140.33 T (the) 359.66 140.33 T (heap,) 374.51 140.33 T (insert) 398.52 140.33 T (a) 423.38 140.33 T (branch) 430.45 140.33 T (instruction) 460.29 140.33 T (from) 505.71 140.33 T (the) 527.78 140.33 T (instrumented) 72 124.33 T (function) 127.07 124.33 T (to) 163.26 124.33 T (the) 173.89 124.33 T (instrumentation) 188.96 124.33 T (code,) 254.59 124.33 T (and) 278.83 124.33 T (relocate) 296.12 124.33 T (the) 330.62 124.33 T (function\325) 345.69 124.33 T (s) 381.8 124.33 T (instructions) 388.55 124.33 T (that) 438.07 124.33 T (were) 455.92 124.33 T (replaced) 478.2 124.33 T (by) 514.93 124.33 T (the) 527.78 124.33 T (branch) 72 108.33 T (to) 101.98 108.33 T (the) 112.52 108.33 T (instrumentation) 127.51 108.33 T (code) 193.06 108.33 T (in) 214.7 108.33 T (the) 225.25 108.33 T (heap.) 240.24 108.33 T (The) 264.38 108.33 T (relocated) 282.7 108.33 T (instructions) 322.12 108.33 T (can) 371.55 108.33 T (be) 388.2 108.33 T (e) 400.41 108.33 T (x) 404.7 108.33 T (ecuted) 409.55 108.33 T (before) 438.41 108.33 T (or) 466.72 108.33 T (after) 477.82 108.33 T (the) 498.9 108.33 T (instru-) 513.89 108.33 T (mentation) 72 92.33 T (code.) 115.01 92.33 T (When) 139.39 92.33 T (the) 166.28 92.33 T (instrumented) 181.51 92.33 T (function) 236.73 92.33 T (is) 273.07 92.33 T (e) 282.75 92.33 T (x) 287.04 92.33 T (ecuted) 291.89 92.33 T (it) 320.99 92.33 T (will) 329.56 92.33 T (branch) 348.13 92.33 T (to) 378.35 92.33 T (the) 389.13 92.33 T (instrumentation) 404.36 92.33 T (code,) 470.15 92.33 T (e) 494.53 92.33 T (x) 498.82 92.33 T (ecute) 503.67 92.33 T (the) 527.78 92.33 T (instrumentation) 72 76.33 T (code) 137.17 76.33 T (before) 158.45 76.33 T (and/or) 186.38 76.33 T (after) 214.32 76.33 T (e) 235.04 76.33 T (x) 239.33 76.33 T (ecuting) 244.18 76.33 T (the) 276.01 76.33 T (function\325) 290.62 76.33 T (s) 326.73 76.33 T (relocated) 333.02 76.33 T (instruction\050s\051,) 372.06 76.33 T (and) 430.28 76.33 T (then) 447.12 76.33 T (branch) 466.73 76.33 T (back) 496.33 76.33 T (to) 517.61 76.33 T (the) 527.78 76.33 T 1 F (Case 1: object modi\336cations) 82.71 707.33 T (Case 2: I/O intensi) 256.76 707.33 T (v) 335.83 707.33 T (e) 340.73 707.33 T (Case 3: small methods) 416.77 707.33 T 1 9 Q (itera-) 72.96 688 T (tions) 72.96 677 T (Dyn) 114.72 688 T (Comp) 114.72 677 T (Inter) 150.72 688 T (p) 170.12 688 T (Speed) 188.16 688 T (up) 188.16 677 T (itera-) 231.36 688 T (tions) 231.36 677 T (Dyn) 273.12 688 T (Comp) 273.12 677 T (Inter) 309.12 688 T (p) 328.52 688 T (Speed) 346.56 688 T (up) 346.56 677 T (iterations) 389.76 688 T (Dyn) 442.32 688 T (Comp) 442.32 677 T (Inter) 478.32 688 T (p) 497.72 688 T (Speed) 515.04 688 T (up) 515.04 677 T 0 F (100,000) 73.47 658 T (114.7) 118.47 658 T (119.5) 155.91 658 T (1.04) 196.41 658 T (100,000) 231.87 658 T (427.1) 276.87 658 T (436.43) 309.81 658 T (1.02) 354.81 658 T (10,000,000) 389.82 658 T (1.76) 450.57 658 T (35.11) 482.79 658 T (19.94) 518.79 658 T (10,000) 77.97 639 T (1.73) 122.97 639 T (2.04) 160.41 639 T (1.18) 196.41 639 T (10,000) 236.37 639 T (40.47) 276.87 639 T (42.70) 314.31 639 T (1.05) 354.81 639 T (1,000,000) 394.32 639 T (0.83) 450.57 639 T (4.16) 487.29 639 T (5.01) 523.29 639 T (1,000) 82.47 620 T (0.71) 122.97 620 T (0.65) 160.41 620 T (0.91) 196.41 620 T (1,000) 240.87 620 T (4.53) 281.37 620 T (4.64) 318.81 620 T (1.02) 354.81 620 T (100,000) 401.07 620 T (0.74) 450.57 620 T (0.98) 487.29 620 T (1.32) 523.29 620 T (100) 89.22 601 T (0.70) 122.97 601 T (0.63) 160.41 601 T (0.90) 196.41 601 T (100) 247.62 601 T (1.06) 281.37 601 T (0.99) 318.81 601 T (0.94) 354.81 601 T (10,000) 405.57 601 T (0.72) 450.57 601 T (0.67) 487.29 601 T (0.93) 523.29 601 T (1,000) 410.07 582 T (0.73) 450.57 582 T (0.63) 487.29 582 T (0.86) 523.29 582 T 1 F (T) 66.96 563 T (able) 72.14 563 T (1:) 90.39 563 T (Execution) 100.77 563 T (time) 142.15 563 T (\050in) 162.03 563 T (seconds\051) 175.42 563 T (of) 210.8 563 T (each) 221.18 563 T (J) 241.56 563 T (a) 245.92 563 T (v) 250.2 563 T (a) 254.61 563 T (k) 261.99 563 T (er) 266.91 563 T (nel) 274.76 563 T (run) 289.15 563 T (by) 306.04 563 T (ExactVM) 318.42 563 T (comparing) 358.3 563 T (inter) 402.68 563 T (pr) 421.09 563 T (eted) 429.92 563 T (J) 448.8 563 T (a) 453.17 563 T (v) 457.44 563 T (a) 461.85 563 T (\050) 469.23 563 T 3 F (Interp) 472.23 563 T 1 F (column\051) 498.12 563 T (to) 532.5 563 T (dynamically compiled J) 66.96 552 T (a) 157.83 552 T (v) 162.11 552 T (a \050) 166.52 552 T 3 F (Dyn Comp) 176.26 552 T 1 F ( column\051.) 216.02 552 T 3 F (Eac) 254.27 552 T (h measurement is the av) 268.68 552 T (erage of 10 runs.) 358.55 552 T 66.96 719.75 66.96 594.25 2 L V 0.5 H 0 Z N 107.47 698.5 107.47 594.25 2 L V N 109.97 698.5 109.97 594.25 2 L V N 144.72 701.5 144.72 593.75 2 L V N 182.16 701.5 182.16 593.75 2 L V N 218.16 719.75 218.16 594.25 2 L V N 225.36 719.75 225.36 594.25 2 L V N 265.87 698.5 265.87 594.25 2 L V N 268.37 698.5 268.37 594.25 2 L V N 303.12 701.5 303.12 593.75 2 L V N 340.56 701.5 340.56 593.75 2 L V N 376.56 719.75 376.56 594.25 2 L V N 383.76 719.75 383.76 575.25 2 L V N 435.07 698.5 435.07 575.25 2 L V N 437.57 698.5 437.57 575.25 2 L V N 472.32 701.5 472.32 574.75 2 L V N 509.04 701.5 509.04 574.75 2 L V N 545.04 719.75 545.04 575.25 2 L V N 66.71 720 218.41 720 2 L V N 225.11 720 376.81 720 2 L V N 383.51 720 545.29 720 2 L V N 66.71 700 218.41 700 2 L V 3 H N 225.11 700 376.81 700 2 L V N 383.51 700 545.29 700 2 L V N 67.21 671.25 217.91 671.25 2 L V 0.5 H N 67.21 668.75 217.91 668.75 2 L V N 225.61 671.25 376.31 671.25 2 L V N 225.61 668.75 376.31 668.75 2 L V N 384.01 671.25 544.79 671.25 2 L V N 384.01 668.75 544.79 668.75 2 L V N 66.71 651 218.41 651 2 L V N 225.11 651 376.81 651 2 L V N 383.51 651 545.29 651 2 L V N 66.71 632 218.41 632 2 L V N 225.11 632 376.81 632 2 L V N 383.51 632 545.29 632 2 L V N 66.71 613 218.41 613 2 L V N 225.11 613 376.81 613 2 L V N 383.51 613 545.29 613 2 L V N 66.71 594 218.41 594 2 L V N 225.11 594 376.81 594 2 L V N 383.51 594 545.29 594 2 L V N 383.51 575 545.29 575 2 L V N FMENDPAGE %%EndPage: "6" 6 %%Page: "7" 7 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 7) 513.06 749.33 T (function.) 72 713.33 T (Because) 90 687.33 T (the) 126.57 687.33 T (SP) 142.05 687.33 T (ARC) 152.25 687.33 T (instruction) 176.06 687.33 T (set) 222.1 687.33 T (has) 236.46 687.33 T (instructions) 253.05 687.33 T (to) 302.97 687.33 T (sa) 314.01 687.33 T (v) 322.14 687.33 T (e) 326.99 687.33 T (and) 334.68 687.33 T (restore) 352.38 687.33 T (stack) 382.84 687.33 T (frames,) 406.65 687.33 T (the) 439.61 687.33 T (instrumentation) 455.08 687.33 T (code) 521.12 687.33 T (and) 72 671.33 T (the) 89.42 671.33 T (relocated) 104.62 671.33 T (instructions) 144.25 671.33 T (can) 193.9 671.33 T (e) 210.76 671.33 T (x) 215.05 671.33 T (ecute) 219.9 671.33 T (in) 243.98 671.33 T (their) 254.74 671.33 T (o) 276.05 671.33 T (wn) 280.8 671.33 T (stack) 296.01 671.33 T (frames) 319.54 671.33 T (and) 349.73 671.33 T (using) 367.15 671.33 T (their) 391.8 671.33 T (o) 413.11 671.33 T (wn) 417.86 671.33 T (re) 433.06 671.33 T (gister) 440.68 671.33 T (windo) 465.88 671.33 T (w) 490.63 671.33 T (.) 497.2 671.33 T (This) 502.68 671.33 T (w) 523.44 671.33 T (ay) 530.56 671.33 T (instrumentation) 72 655.33 T (code) 137.2 655.33 T (will) 158.51 655.33 T (not) 176.49 655.33 T (destro) 191.69 655.33 T (y) 216.03 655.33 T (the) 223.45 655.33 T (v) 238.09 655.33 T (alues) 242.84 655.33 T (in) 265.82 655.33 T (the) 276.02 655.33 T (function\325) 290.66 655.33 T (s) 326.77 655.33 T (stack) 333.08 655.33 T (frame) 356.06 655.33 T (or) 381.8 655.33 T (re) 392.55 655.33 T (gisters.) 400.17 655.33 T (Figure) 431.2 655.33 T (2) 459.81 655.33 T (sho) 467.23 655.33 T (ws) 480.88 655.33 T (an) 494.41 655.33 T (e) 506.27 655.33 T (xample) 510.56 655.33 T (of dynamically instrumenting a VM function.) 72 638 T 1 13 Q (3.3 T) 72 412.73 T (ransf) 99.21 412.73 T (ormational Instrumentation f) 127.77 412.73 T (or AP Code) 290.66 412.73 T 0 10 Q (W) 90 390.73 T (e) 98.64 390.73 T (use) 106.49 390.73 T (an) 123.23 390.73 T (instrumentation) 136.09 390.73 T (technique) 202.28 390.73 T (called) 244.57 390.73 T 4 F (T) 271.86 390.73 T (r) 276.87 390.73 T (ansformational) 280.61 390.73 T (Instrumentation) 345.14 390.73 T 0 F (to) 412.44 390.73 T (dynamically) 423.64 390.73 T (instrument) 476.49 390.73 T (Ja) 522.68 390.73 T (v) 530.81 390.73 T (a) 535.56 390.73 T (application) 72 374.73 T (byte-codes.) 120.08 374.73 T (Our) 169.55 374.73 T (technique) 188.74 374.73 T (solv) 231.27 374.73 T (es) 247.79 374.73 T (tw) 259.76 374.73 T (o) 269.66 374.73 T (problems) 278.31 374.73 T (associated) 319.17 374.73 T (with) 363.92 374.73 T (instrumenting) 385.34 374.73 T (Ja) 444.55 374.73 T (v) 452.68 374.73 T (a) 457.43 374.73 T (byte-codes) 465.51 374.73 T (at) 512.47 374.73 T (run-) 523.34 374.73 T (time.) 72 358.73 T (One) 95.18 358.73 T (problem) 114.74 358.73 T (is) 150.96 358.73 T (that) 160.53 358.73 T (there) 178.43 358.73 T (are) 201.32 358.73 T (no) 216.43 358.73 T (Ja) 229.33 358.73 T (v) 237.46 358.73 T (a) 242.21 358.73 T (Class) 249.55 358.73 T (Library) 274.11 358.73 T (methods) 307 358.73 T (or) 343.79 358.73 T (JDK) 355.02 358.73 T (API\325) 376.25 358.73 T (s) 395.14 358.73 T (\050prior) 401.93 358.73 T (to) 427.6 358.73 T (release) 438.27 358.73 T (1.2\051) 468.93 358.73 T (for) 487.66 358.73 T (obtaining) 502.22 358.73 T (CPU) 72 342.73 T (time) 94.52 342.73 T (for) 115.37 342.73 T (AP) 130.1 342.73 T (processes) 145.95 342.73 T (or) 187.34 342.73 T (threads.) 198.73 342.73 T (As) 233.18 342.73 T (a) 247.36 342.73 T (result,) 254.87 342.73 T (P) 282.66 342.73 T (aradyn-J) 288.07 342.73 T (must) 325.57 342.73 T (use) 348.09 342.73 T (some) 364.49 342.73 T (nati) 388.67 342.73 T (v) 403.42 342.73 T (e) 408.27 342.73 T (code) 415.77 342.73 T (to) 437.72 342.73 T (obtain) 448.57 342.73 T (CPU) 476.64 342.73 T (time) 499.16 342.73 T (mea-) 520.01 342.73 T (sures) 72 326.73 T (for) 96 326.73 T (instrumented) 111.12 326.73 T (byte-codes.) 166.79 326.73 T (The) 216.07 326.73 T (second) 235.07 326.73 T (problem) 266.3 326.73 T (is) 303.08 326.73 T (that) 313.2 326.73 T (our) 331.66 326.73 T (byte-code) 348.44 326.73 T (instrumentation) 391.33 326.73 T (needs) 457.56 326.73 T (operand) 483.79 326.73 T (stack) 519.45 326.73 T (space,) 72 310.73 T (and) 99.67 310.73 T (ar) 117.06 310.73 T (gument) 124.65 310.73 T (and) 157.61 310.73 T (local) 175 310.73 T (v) 197.4 310.73 T (ariable) 202.15 310.73 T (space) 232.32 310.73 T (to) 257.48 310.73 T (e) 268.22 310.73 T (x) 272.51 310.73 T (ecute.) 277.36 310.73 T (F) 303.91 310.73 T (or) 309.32 310.73 T (e) 320.61 310.73 T (v) 324.8 310.73 T (ery) 329.65 310.73 T (AP) 345.38 310.73 T (method) 361.11 310.73 T (on) 394.07 310.73 T (the) 407.02 310.73 T (call) 422.2 310.73 T (stack,) 439.6 310.73 T (the) 465.6 310.73 T (VM) 480.78 310.73 T (creates) 499.84 310.73 T (an) 530.56 310.73 T (e) 72 294.73 T (x) 76.29 294.73 T (ecution) 81.14 294.73 T (stack) 113.06 294.73 T (frame,) 136.09 294.73 T (an) 164.4 294.73 T (operand) 176.32 294.73 T (stack,) 211.01 294.73 T (and) 236.54 294.73 T (ar) 253.46 294.73 T (gument) 261.05 294.73 T (and) 293.54 294.73 T (local) 310.46 294.73 T (v) 332.38 294.73 T (ariable) 337.13 294.73 T (space) 366.82 294.73 T (for) 391.51 294.73 T (e) 405.65 294.73 T (x) 409.94 294.73 T (ecuting) 414.79 294.73 T (the) 446.72 294.73 T (method\325) 461.42 294.73 T (s) 494.2 294.73 T (byte-code) 500.57 294.73 T (instructions; our instrumentation byte-codes also need this space to e) 72 278.73 T (x) 347.1 278.73 T (ecute.) 351.95 278.73 T (One) 90 252.73 T (approach) 109.59 252.73 T (to) 149.17 252.73 T (safely) 159.88 252.73 T (e) 186.69 252.73 T (x) 190.98 252.73 T (ecuting) 195.83 252.73 T (instrumentation) 228.2 252.73 T (code) 293.91 252.73 T (is) 315.72 252.73 T (to) 325.32 252.73 T (use) 336.02 252.73 T (a) 352.28 252.73 T (method) 359.65 252.73 T (call) 392.58 252.73 T (instruction) 409.95 252.73 T (to) 455.66 252.73 T (jump) 466.37 252.73 T (to) 489.86 252.73 T (byte-code) 500.57 252.73 T (instrumentation.) 72 236.73 T (When) 140 236.73 T (the) 166.6 236.73 T (VM) 181.55 236.73 T (interprets) 200.38 236.73 T (a) 240.87 236.73 T (call) 248.03 236.73 T (instruction,) 265.2 236.73 T (it) 313.2 236.73 T (creates) 321.48 236.73 T (a) 351.96 236.73 T (ne) 359.13 236.73 T (w) 368.32 236.73 T (e) 378.26 236.73 T (x) 382.55 236.73 T (ecution) 387.4 236.73 T (conte) 419.56 236.73 T (xt) 441.07 236.73 T (for) 451.57 236.73 T (the) 465.95 236.73 T (called) 480.9 236.73 T (method,) 507.5 236.73 T (so) 72 220.73 T (instrumentation) 83.45 220.73 T (code) 148.79 220.73 T (will) 170.24 220.73 T (e) 188.36 220.73 T (x) 192.65 220.73 T (ecute) 197.5 220.73 T (in) 221.16 220.73 T (its) 231.51 220.73 T (o) 243.52 220.73 T (wn) 248.27 220.73 T (stack) 263.05 220.73 T (frame) 286.16 220.73 T (with) 312.05 220.73 T (its) 332.39 220.73 T (o) 344.4 220.73 T (wn) 349.15 220.73 T (operand) 363.93 220.73 T (stack.) 398.71 220.73 T (There) 424.32 220.73 T (are) 450.2 220.73 T (tw) 464.97 220.73 T (o) 474.87 220.73 T (problems) 482.44 220.73 T (with) 522.22 220.73 T (this) 72 204.73 T (approach.) 88.81 204.73 T (First,) 130.32 204.73 T (method) 153.53 204.73 T (instructions) 185.89 204.73 T (that) 234.92 204.73 T (are) 252.29 204.73 T (o) 266.86 204.73 T (v) 271.71 204.73 T (erwritten) 276.56 204.73 T (with) 315.02 204.73 T (calls) 335.16 204.73 T (to) 355.86 204.73 T (instrumentation) 366 204.73 T (code) 431.14 204.73 T (cannot) 452.38 204.73 T (be) 481.4 204.73 T (relocated) 493.21 204.73 T (to) 532.22 204.73 T (the) 72 188.73 T (instrumentation) 87.28 188.73 T (code) 153.12 188.73 T (in) 175.07 188.73 T (the) 185.91 188.73 T (heap;) 201.19 188.73 T (in) 225.91 188.73 T (the) 236.76 188.73 T (instrumentation) 252.04 188.73 T (code) 317.88 188.73 T (there) 339.82 188.73 T (is) 362.87 188.73 T (no) 372.61 188.73 T (w) 385.67 188.73 T (ay) 392.79 188.73 T (to) 405.29 188.73 T (restore) 416.13 188.73 T (the) 446.4 188.73 T (method\325) 461.69 188.73 T (s) 494.47 188.73 T (e) 501.42 188.73 T (x) 505.71 188.73 T (ecution) 510.56 188.73 T (conte) 72 172.73 T (xt) 93.51 172.73 T (that) 103.64 172.73 T (is) 121 172.73 T (necessary) 130.02 172.73 T (to) 171.25 172.73 T (e) 181.38 172.73 T (x) 185.68 172.73 T (ecute) 190.52 172.73 T (the) 213.98 172.73 T (relocated) 228.55 172.73 T (byte-code) 267.56 172.73 T (instructions.) 309.35 172.73 T (Second,) 360.87 172.73 T (interpreting) 395.17 172.73 T (method) 444.18 172.73 T (call) 476.54 172.73 T (instructions) 493.33 172.73 T (is) 72 156.73 T (e) 81.25 156.73 T (xpensi) 85.54 156.73 T (v) 111.4 156.73 T (e.) 116.25 156.73 T (W) 125.78 156.73 T (e) 134.42 156.73 T (solv) 141.44 156.73 T (e) 157.96 156.73 T (the) 164.98 156.73 T (\336rst) 179.79 156.73 T (problem) 197.93 156.73 T (by) 233.84 156.73 T (relocating) 246.43 156.73 T (the) 289 156.73 T (entire) 303.8 156.73 T (method) 329.16 156.73 T (to) 361.74 156.73 T (the) 372.11 156.73 T (heap) 386.91 156.73 T (with) 408.37 156.73 T (e) 428.74 156.73 T (xtra) 433.03 156.73 T (space) 451.16 156.73 T (for) 475.95 156.73 T (inserting) 490.2 156.73 T (the) 527.78 156.73 T (method) 72 140.73 T (call) 105.3 140.73 T (instructions) 123.04 140.73 T (that) 173 140.73 T (call) 191.3 140.73 T (instrumentation) 209.04 140.73 T (code.) 275.12 140.73 T (Ho) 299.8 140.73 T (we) 311.77 140.73 T (v) 323.17 140.73 T (er) 328.02 140.73 T (,) 335.39 140.73 T (the) 341.19 140.73 T (second) 356.71 140.73 T (problem) 387.78 140.73 T (is) 424.41 140.73 T (una) 434.37 140.73 T (v) 448.61 140.73 T (oidable) 453.41 140.73 T (since) 486.15 140.73 T (method) 510 140.73 T (call instructions are already necessary for obtaining CPU measures from nati) 72 124.73 T (v) 378.91 124.73 T (e code.) 383.76 124.73 T (In) 90 98.73 T (P) 101.21 98.73 T (aradyn-J) 106.62 98.73 T (we) 143.92 98.73 T (use) 158.46 98.73 T (this) 174.67 98.73 T (approach) 191.99 98.73 T (for) 231.52 98.73 T (safely) 246.05 98.73 T (e) 272.81 98.73 T (x) 277.1 98.73 T (ecuting) 281.95 98.73 T (instrumentation) 314.27 98.73 T (byte-codes.) 379.92 98.73 T (Our) 428.62 98.73 T (technique) 447.05 98.73 T (of) 488.8 98.73 T (relocating) 500.01 98.73 T (methods) 72 82.73 T (when) 109.01 82.73 T (\336rst) 133.78 82.73 T (instrumented,) 152.46 82.73 T (and) 210.29 82.73 T (instrumenting) 227.85 82.73 T (byte-codes) 286.53 82.73 T (with) 332.96 82.73 T (nati) 353.86 82.73 T (v) 368.61 82.73 T (e) 373.46 82.73 T (code) 381.02 82.73 T (is) 403.01 82.73 T (called) 412.8 82.73 T 4 F (T) 439.79 82.73 T (r) 444.8 82.73 T (ansformational) 448.54 82.73 T (Instru-) 512.78 82.73 T 1 9 Q (Figur) 81 466.73 T (e) 102.34 466.73 T (2:) 108.58 466.73 T (Dynamic) 118.59 466.73 T (Instrumentation) 155.59 466.73 T (f) 221.1 466.73 T (or) 223.87 466.73 T (J) 234.87 466.73 T (a) 239.23 466.73 T (v) 243.51 466.73 T (a) 247.92 466.73 T (VM) 254.92 466.73 T (code.) 272.42 466.73 T 3 F (In) 294.67 466.73 T (this) 305.68 466.73 T (example) 321.7 466.73 T (VM) 355.2 466.73 T (function) 371.71 466.73 T 2 10 Q (invokeMethod) 405.72 466.73 T 3 9 Q (is) 480.23 466.73 T (instrumented.) 488.74 466.73 T (An) 81 454.73 T (instruction) 95.07 454.73 T (in) 138.64 454.73 T 2 10 Q (invokeMethod) 149.21 454.73 T 3 9 Q (is) 224.26 454.73 T (replaced) 233.32 454.73 T (with) 267.87 454.73 T (a) 286.94 454.73 T (branc) 294.5 454.73 T (h) 315.91 454.73 T (instruction) 323.97 454.73 T (that) 367.55 454.73 T (jumps) 385.11 454.73 T (to) 410.68 454.73 T (the) 420.74 454.73 T (instrumentation) 435.3 454.73 T (code) 497.88 454.73 T (in) 517.93 454.73 T (the) 528.5 454.73 T (heap, and the o) 81 442.73 T (v) 137.87 442.73 T (erwritten) 141.73 442.73 T 2 10 Q (invokeMethod) 177.49 442.73 T 3 9 Q ( instruction is relocated to the instrumentation code.) 249.49 442.73 T 83.97 483.4 528.03 609 C 83.97 483.4 528.03 609 R 7 X V 0 1 0 0 1 0 1 1 K 137.28 490.2 229.04 571.2 R 4 X V 1 H 2 Z 0 X N 1 0.5 0 0 0 0.5 1 1 K 274.05 486.6 347.84 573 R 5 X V 0 X N 381.92 529.8 405.44 555.7 R 5 X V 0 X N 1 1 0 0 0 0 1 1 K 376.31 554.23 381.01 554.22 2 L 0.5 H 0 Z N 376.57 556.8 381.01 554.22 376.56 551.66 3 L N 308 554.38 376.31 554.23 2 L 2 Z N 322.44 545.88 317.74 545.88 2 L 0 Z N 322.19 543.31 317.74 545.88 322.19 548.44 3 L N 360.75 545.88 322.44 545.88 2 L 2 Z N 261.9 565.55 260.98 568.03 270.55 568.77 262.83 563.07 4 Y 1 H 0 Z N 261.9 565.55 260.98 568.03 270.55 568.77 262.83 563.07 4 Y V 194.85 540.6 261.43 565.38 2 L 0.5 H 2 Z N 0 0 0 1 0 0 0 1 K 1 12 Q (J) 137.25 577.48 T (a) 143.07 577.48 T (v) 148.77 577.48 T (a VM Code) 154.65 577.48 T 1 10 9.95 QQ (in) 146.24 555.44 T (v) 154.15 555.44 T (ok) 159.02 555.44 T (eMethod\050\051 {) 169.43 555.44 T (}) 146.24 495.44 T 1 0.5 0 0 0 0.5 1 1 K 441.32 530.9 464.84 556.8 R 5 X V 1 H 0 X N 1 1 0 0 0 0 1 1 K 436.03 554.34 440.72 554.34 2 L 0.5 H 0 Z N 436.28 556.91 440.72 554.34 436.28 551.78 3 L N 406.12 554.34 436.03 554.34 2 L 2 Z N 151.65 533.4 194.85 546 R 5 X V 1 H 0 X N 0 0 0 1 0 0 0 1 K (branch) 158.45 537.25 T 0 1 0 0 1 0 1 1 K 277.64 504.6 344.24 538.8 R 4 X V 0 X N 0 0 0 1 0 0 0 1 K (r) 281.24 530.05 T (elocated) 285.48 530.05 T (in) 281.24 520.05 T (v) 289.14 520.05 T (ok) 294.02 520.05 T (eMethod) 304.43 520.05 T (instruction) 281.24 510.05 T 1 1 0 0 0 0 1 1 K 187.2 522.37 186.28 519.89 178.55 525.57 188.11 524.85 4 Y 0 Z N 187.2 522.37 186.28 519.89 178.55 525.57 188.11 524.85 4 Y V 187.66 522.2 276 489.56 2 L 0.5 H 2 Z N 0 0 0 1 0 0 0 1 K (sa) 283.05 562.64 T (v) 291.64 562.64 T (e) 296.52 562.64 T (jump) 283.05 552.64 T (r) 283.05 542.64 T (estor) 287.28 542.64 T (e) 308.1 542.64 T 1 12 Q (instrumentation code) 255.05 599.09 T (to sa) 255.05 588.29 T (v) 278.41 588.29 T (e and r) 284.29 588.29 T (estor) 320.08 588.29 T (e) 345.18 588.29 T (in) 255.05 577.49 T (v) 264.58 577.49 T (ok) 270.46 577.49 T (eMethod\325) 283.01 577.49 T (s state) 331.88 577.49 T (instrumentation code) 372.05 571.86 T (to compute the metric) 372.05 561.06 T 1 0.5 0 0 0 0.5 1 1 K 403.52 484.8 427.04 510.7 R 5 X V 1 H 0 X N 462.92 485.9 486.44 511.8 R 5 X V 0 X N 1 1 0 0 0 0 1 1 K 457.63 509.35 462.32 509.35 2 L 0.5 H 0 Z N 457.88 511.91 462.32 509.35 457.88 506.78 3 L N 427.72 509.35 457.63 509.35 2 L 2 Z N 432.33 487 427.64 487 2 L 0 Z N 432.08 484.43 427.64 487 432.08 489.57 3 L N 463.04 487 432.33 487 2 L 2 Z N 410.83 531.25 406.14 531.25 2 L 0 Z N 410.58 528.68 406.14 531.25 410.58 533.82 3 L N 441.54 531.25 410.83 531.25 2 L 2 Z N 398.3 510.38 403 510.38 2 L 0 Z N 398.55 512.95 403 510.38 398.55 507.82 3 L N 378 510.38 398.3 510.38 2 L 2 Z N 325.25 500.88 377.5 500.88 377.5 510.63 3 L 0 Z N 403.5 485.38 372 485.63 371.75 495.63 3 L N 341.08 495.5 336.39 495.5 2 L N 340.83 492.93 336.39 495.5 340.83 498.07 3 L N 371.79 495.5 341.08 495.5 2 L 2 Z N 361 545.88 361 531.63 382 531.63 3 L 0 Z N 0 0 0 1 0 0 0 1 K -45 -45 657 837 C 0 0 0 1 0 0 0 1 K FMENDPAGE %%EndPage: "7" 7 %%Page: "8" 8 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 8) 513.06 749.33 T 4 F (mentation) 72 713.33 T 0 F (.) 112 713.33 T (T) 117.14 713.33 T (ransformational) 122.9 713.33 T (Instrumentation) 188.85 713.33 T (w) 254.82 713.33 T (orks) 261.94 713.33 T (as) 281.8 713.33 T (follo) 292.77 713.33 T (ws) 311.41 713.33 T (\050illustrated) 325.16 713.33 T (in) 371.12 713.33 T (Figure) 381.54 713.33 T (3\051:) 410.15 713.33 T (the) 423.9 713.33 T (\336rst) 438.76 713.33 T (time) 456.95 713.33 T (an) 477.37 713.33 T (instrumenta-) 489.45 713.33 T (tion) 72 696.67 T (request) 91.02 696.67 T (is) 123.37 696.67 T (made) 133.5 696.67 T (for) 158.62 696.67 T (a) 173.74 696.67 T (method,) 181.65 696.67 T (relocate) 217.61 696.67 T (the) 252.72 696.67 T (method) 268.41 696.67 T (to) 301.87 696.67 T (the) 313.11 696.67 T (heap) 328.8 696.67 T (and) 351.14 696.67 T (e) 369.04 696.67 T (xpand) 373.33 696.67 T (its) 401.23 696.67 T (size) 414.15 696.67 T (by) 433.16 696.67 T (adding) 446.62 696.67 T 2 11 Q (nop) 477.31 696.67 T 0 10 Q (byte-code) 500.57 696.67 T (instructions) 72 680.33 T (around) 121.67 680.33 T (each) 152.45 680.33 T (instrumentation) 173.77 680.33 T (point.) 239.55 680.33 T (When) 265.61 680.33 T (a) 292.49 680.33 T (branch) 299.94 680.33 T (to) 330.15 680.33 T (instrumentation) 340.93 680.33 T (code) 406.71 680.33 T (is) 428.6 680.33 T (inserted) 438.27 680.33 T (in) 472.93 680.33 T (the) 483.71 680.33 T (method,) 498.94 680.33 T (it) 534.44 680.33 T (replaces) 72 663.67 T (the) 107.44 663.67 T 2 11 Q (nop) 122.34 663.67 T 0 10 Q (instructions;) 144.82 663.67 T (no) 196.95 663.67 T (method) 209.63 663.67 T (byte-codes) 242.31 663.67 T (are) 288.31 663.67 T (o) 303.2 663.67 T (v) 308.05 663.67 T (erwritten) 312.9 663.67 T (and,) 351.68 663.67 T (as) 371.31 663.67 T (a) 382.32 663.67 T (result,) 389.44 663.67 T (all) 416.84 663.67 T (method) 429.52 663.67 T (byte-codes) 462.2 663.67 T (are) 508.2 663.67 T (e) 523.09 663.67 T (x) 527.38 663.67 T (e-) 532.23 663.67 T (cuted) 72 647.33 T (using) 96.16 647.33 T (the) 120.33 647.33 T (their) 135.05 647.33 T (o) 155.88 647.33 T (wn) 160.63 647.33 T (operand) 175.35 647.33 T (stack) 210.07 647.33 T (and) 233.12 647.33 T (stack) 250.06 647.33 T (frame.) 273.11 647.33 T (The) 301.43 647.33 T (\336rst) 319.48 647.33 T (bytes) 337.54 647.33 T (in) 361.15 647.33 T (the) 371.43 647.33 T (original) 386.15 647.33 T (method) 419.77 647.33 T (are) 452.27 647.33 T (o) 466.98 647.33 T (v) 471.83 647.33 T (erwritten) 476.68 647.33 T (with) 515.28 647.33 T (a) 535.56 647.33 T 2 11 Q (goto_w) 72 630.67 T 0 10 Q (byte-code) 114.51 630.67 T (instruction) 156.85 630.67 T (that) 202.54 630.67 T (branches) 220.46 630.67 T (to) 258.91 630.67 T (the) 269.6 630.67 T (relocated) 284.73 630.67 T (method.) 324.29 630.67 T (SP) 359.7 630.67 T (ARC) 369.9 630.67 T (instrumentation) 393.37 630.67 T (code) 459.07 630.67 T (is) 480.86 630.67 T (generated) 490.44 630.67 T (in) 532.22 630.67 T (the) 72 613.67 T (heap,) 88.49 613.67 T (and) 114.15 613.67 T (method) 132.86 613.67 T (call) 167.13 613.67 T (byte-code) 185.85 613.67 T (instructions) 229.55 613.67 T (are) 280.49 613.67 T (inserted) 296.98 613.67 T (at) 332.91 613.67 T (the) 344.4 613.67 T (instrumentation) 360.9 613.67 T (points) 427.95 613.67 T (\050the) 456.67 613.67 T 2 11 Q (nop) 476.5 613.67 T 0 10 Q (byte-code) 500.57 613.67 T (instructions\051 to jump to the SP) 72 597.33 T (ARC instrumentation code.) 193.04 597.33 T (The) 90 310.1 T (VM) 108.38 310.1 T (will) 127.31 310.1 T (create) 145.7 310.1 T (a) 172.4 310.1 T (ne) 179.66 310.1 T (w) 188.85 310.1 T (e) 198.9 310.1 T (x) 203.19 310.1 T (ecution) 208.04 310.1 T (stack) 240.3 310.1 T (frame) 263.68 310.1 T (and) 289.83 310.1 T (operand) 307.09 310.1 T (stack) 342.13 310.1 T (for) 365.51 310.1 T (the) 379.99 310.1 T (instrumentation) 395.04 310.1 T (code,) 460.64 310.1 T (if) 484.85 310.1 T (the) 493.79 310.1 T (jump) 508.83 310.1 T (to) 532.22 310.1 T (the) 72 294.1 T (instrumentation) 87.64 294.1 T (code) 153.84 294.1 T (is) 176.14 294.1 T (made) 186.23 294.1 T (by) 211.31 294.1 T (a) 224.73 294.1 T (method) 232.59 294.1 T (call) 266.02 294.1 T (byte-code) 283.88 294.1 T (instruction;) 326.73 294.1 T (all) 375.71 294.1 T (branches) 389.13 294.1 T (to) 428.09 294.1 T (instrumentation) 439.29 294.1 T (code) 505.49 294.1 T (are) 527.79 294.1 T (calls) 72 277.43 T (to) 92.97 277.43 T (the) 103.39 277.43 T (static) 118.25 277.43 T (method) 142.01 277.43 T 2 11 Q (do_baseTramp\050int) 174.65 277.43 T (id\051) 287.22 277.43 T 0 10 Q (that) 309.66 277.43 T (e) 327.3 277.43 T (x) 331.59 277.43 T (ecutes) 336.44 277.43 T (the) 364.07 277.43 T (instrumentation) 378.93 277.43 T (code.) 444.36 277.43 T (The) 468.38 277.43 T 2 11 Q (id) 486.57 277.43 T 0 10 Q (ar) 502.41 277.43 T (gument) 510 277.43 T (is) 72 260.43 T (used) 81.97 260.43 T (to) 103.6 260.43 T (indicate) 114.68 260.43 T (from) 149.65 260.43 T (which) 172.39 260.43 T (instrumentation) 200.13 260.43 T (point) 266.21 260.43 T (it) 290.07 260.43 T (w) 298.94 260.43 T (as) 306.06 260.43 T (called.) 317.69 260.43 T (T) 347.37 260.43 T (o) 352.68 260.43 T (call) 360.98 260.43 T 2 11 Q (do_baseTramp) 378.72 260.43 T 0 10 Q (we) 461.22 260.43 T (insert) 476.19 260.43 T (one) 501.71 260.43 T (byte-) 519.45 260.43 T (code) 72 243.43 T (instruction) 93.39 243.43 T (to) 138.68 243.43 T (push) 148.96 243.43 T (the) 170.36 243.43 T 2 11 Q (id) 185.09 243.43 T 0 10 Q (operand) 200.79 243.43 T (on) 235.51 243.43 T (the) 248.02 243.43 T (operand) 262.75 243.43 T (stack) 297.46 243.43 T (and) 320.52 243.43 T (one) 337.47 243.43 T (byte-code) 354.42 243.43 T (instruction) 396.35 243.43 T (to) 441.64 243.43 T (call) 451.93 243.43 T (the) 468.88 243.43 T (method.) 483.6 243.43 T (Also,) 518.61 243.43 T (since) 72 227.1 T (method) 95.07 227.1 T (calls) 127.6 227.1 T (are) 148.45 227.1 T (resolv) 163.19 227.1 T (ed) 187.48 227.1 T (using) 199.44 227.1 T (the) 223.64 227.1 T (calling) 238.38 227.1 T (class\325) 268.13 227.1 T (constantpool,) 293.42 227.1 T (the) 349.56 227.1 T (class\325) 364.3 227.1 T (constantpool) 389.6 227.1 T (must) 443.23 227.1 T (be) 465.21 227.1 T (modi\336ed) 477.17 227.1 T (to) 515.26 227.1 T (add) 525.56 227.1 T (entries) 72 210.43 T (that) 101.06 210.43 T (pro) 118.45 210.43 T (vide) 131.63 210.43 T (information) 151.25 210.43 T (about) 200.86 210.43 T 2 11 Q (do_baseTramp) 225.48 210.43 T 0 10 Q (.) 304.68 210.43 T (A) 309.58 210.43 T (class\325) 319.19 210.43 T (constantpool) 344.36 210.43 T (only) 397.86 210.43 T (has) 418.04 210.43 T (to) 433.77 210.43 T (be) 443.94 210.43 T (modi\336ed) 455.78 210.43 T (once) 493.73 210.43 T (\050when) 515.01 210.43 T (the) 72 194.1 T (class) 89.64 194.1 T (\336le) 114.51 194.1 T (is) 132.71 194.1 T (loaded\051,) 144.8 194.1 T (and) 182.72 194.1 T (only) 202.58 194.1 T (has) 225.78 194.1 T (to) 244.54 194.1 T (be) 257.74 194.1 T (modi\336ed) 272.61 194.1 T (with) 313.59 194.1 T (entries) 336.79 194.1 T (to) 368.88 194.1 T (resolv) 382.08 194.1 T (e) 406.37 194.1 T (one) 416.23 194.1 T (method) 436.1 194.1 T (call) 471.52 194.1 T (\050the) 491.38 194.1 T (call) 512.36 194.1 T (to) 532.22 194.1 T 2 11 Q (do_baseTramp) 72 177.43 T 0 10 Q (\051.) 151.2 177.43 T (Finally) 161.14 177.43 T (,) 188.83 177.43 T (the) 195.43 177.43 T (state) 211.76 177.43 T (of) 234.19 177.43 T (the) 246.63 177.43 T (virtual) 262.96 177.43 T (machine) 293.17 177.43 T (\050its) 331.16 177.43 T (e) 348.04 177.43 T (x) 352.33 177.43 T (ecution) 357.18 177.43 T (stacks,) 390.73 177.43 T (and) 421.78 177.43 T (re) 440.32 177.43 T (gister) 447.94 177.43 T (v) 474.27 177.43 T (alues\051) 479.02 177.43 T (must) 507 177.43 T (be) 530.56 177.43 T (check) 72 161.1 T (ed) 95.22 161.1 T (to) 107.08 161.1 T (see) 117.27 161.1 T (if) 132.46 161.1 T (it) 140.98 161.1 T (is) 148.96 161.1 T (safe) 158.04 161.1 T (to) 176.56 161.1 T (insert) 186.75 161.1 T (these) 211.39 161.1 T (changes.) 234.36 161.1 T (If) 271.48 161.1 T (it) 280.56 161.1 T (is) 288.53 161.1 T (not) 297.62 161.1 T (safe,) 312.81 161.1 T (the) 333.83 161.1 T (changes) 348.46 161.1 T (must) 383.09 161.1 T (be) 404.96 161.1 T (delayed) 416.81 161.1 T (until) 450.33 161.1 T (some) 471.08 161.1 T (point) 494.61 161.1 T (in) 517.58 161.1 T (the) 527.78 161.1 T (e) 72 145.1 T (x) 76.29 145.1 T (ecution) 81.14 145.1 T (when) 113.41 145.1 T (it) 137.89 145.1 T (is) 146.28 145.1 T (safe) 155.78 145.1 T (to) 174.71 145.1 T (insert) 185.31 145.1 T (these) 210.36 145.1 T (changes.) 233.74 145.1 T (T) 271.27 145.1 T (o) 276.58 145.1 T (delay) 284.41 145.1 T (the) 308.9 145.1 T (insertion) 323.95 145.1 T (of) 361.77 145.1 T (byte-code) 372.93 145.1 T (instrumentation,) 415.19 145.1 T (special) 483.29 145.1 T (instru-) 513.89 145.1 T (mentation) 72 129.1 T (code) 115.46 129.1 T (is) 137.8 129.1 T (inserted) 147.93 129.1 T (in) 183.05 129.1 T (a) 194.29 129.1 T (method) 202.19 129.1 T (that) 235.65 129.1 T (is) 254.11 129.1 T (lo) 264.23 129.1 T (wer) 271.77 129.1 T (in) 290.21 129.1 T (the) 301.45 129.1 T (e) 317.13 129.1 T (x) 321.42 129.1 T (ecution) 326.27 129.1 T (stack) 359.17 129.1 T (and) 383.18 129.1 T (that) 401.08 129.1 T (is) 419.54 129.1 T (at) 429.67 129.1 T (a) 440.35 129.1 T (point) 448.25 129.1 T (where) 472.27 129.1 T (P) 500.16 129.1 T (aradyn-J) 505.57 129.1 T (determines) 72 113.1 T (that) 118.77 113.1 T (it) 136.66 113.1 T (will) 145.12 113.1 T (be) 163.57 113.1 T (safe) 175.9 113.1 T (to) 194.89 113.1 T (insert) 205.56 113.1 T (the) 230.67 113.1 T (instrumentation.) 245.79 113.1 T (When) 313.96 113.1 T (this) 340.73 113.1 T (special) 358.07 113.1 T (instrumentation) 388.73 113.1 T (is) 454.4 113.1 T (e) 463.97 113.1 T (x) 468.26 113.1 T (ecuted) 473.11 113.1 T (it) 502.1 113.1 T (noti\336es) 510.55 113.1 T (P) 72 97.1 T (aradyn-J that it should attempt to insert an) 77.41 97.1 T (y delayed instrumentation code.) 245.86 97.1 T 1 9 Q (Figur) 81 348.76 T (e) 102.34 348.76 T (3:) 108.58 348.76 T (T) 119.6 348.76 T (ransf) 124.94 348.76 T (ormational) 144.71 348.76 T (Instrumentation) 190.73 348.76 T (f) 257.24 348.76 T (or) 260.01 348.76 T (J) 272.03 348.76 T (a) 276.39 348.76 T (v) 280.67 348.76 T (a) 285.08 348.76 T (application) 293.1 348.76 T (byte-codes.) 339.62 348.76 T 3 F (The) 385.88 348.76 T (dark) 403.9 348.76 T (er) 420.63 348.76 T (colored) 431.64 348.76 T (bo) 462.66 348.76 T (x) 471.57 348.76 T (es) 475.98 348.76 T (represent) 486.99 348.76 T (pre-) 525.01 348.76 T (instrumented J) 81 337.76 T (ava VM data structures, the lighter colored bo) 136.4 337.76 T (x) 306.83 337.76 T (es are added to instrument a J) 311.24 337.76 T (ava Method.) 422.39 337.76 T 83.27 364.76 528.73 569 C 83.27 364.76 528.73 569 R 7 X V 1 0.5 0 0 0 0.5 1 1 K 209.23 376.84 331.25 463.54 R 5 X V 1 H 2 Z 0 X N 1 1 0 0 0 0 1 1 K 215.25 434.97 322.12 455.02 R 7 X V 0.5 H 0 X N 0 1 0 0 1 0 1 1 K 98.67 406.88 168.04 464.93 R 4 X V 1 H 0 X N 1 0.5 0 0 0 0.5 1 1 K 107.64 452.27 158.71 462.91 R 5 X V 0.5 H 0 X N 0 1 0 0 1 0 1 1 K 153.67 525.88 245.17 557.16 R 4 X V 1 H 0 X N 0 0 0 1 0 0 0 1 K 1 8.44 10 QQ (Constpool) 161.09 540.31 T (Methods) 160.24 529.28 T 0 1 0 0 1 0 1 1 K 85.12 491.19 274.58 511.47 R 4 X V 0 X N 162.18 512.49 161.32 491.42 2 L 0.5 H N 0 0 0 1 0 0 0 1 K (code) 101.55 493.19 T 0 1 0 0 1 0 1 1 K 281.47 518 345.52 556.79 R 4 X V 1 H 0 X N 1 0.5 0 0 0 0.5 1 1 K 281.47 492.99 345.52 518 R 5 X V 0 X N 1 1 0 0 0 0 1 1 K (stack size) 99.78 504.27 T (Constpool size) 160.24 549.51 T 0 0 0 1 0 0 0 1 K (goto_w) 118.44 455.68 T 1 10.13 12 QQ (Modi\336ed byte-code) 217.23 467.52 T 1 1 0 0 0 0 1 1 K 194.17 458.21 194.17 460.86 203.39 458.21 194.17 455.57 4 Y 0 Z N 194.17 458.21 194.17 460.86 203.39 458.21 194.17 455.57 4 Y V 151.54 458.21 193.67 458.21 2 L 0.5 H 2 Z N 0 0 0 1 0 0 0 1 K (Method T) 85.92 513.87 T (able) 135.81 513.87 T 1 0.5 0 0 0 0.5 1 1 K 375.18 476.88 452.58 505.78 R 5 X V 1 H 0 X N 384.88 394.46 506.64 411.18 R 5 X V 0 X N 0 0 0 1 0 0 0 1 K 1 8.44 10 QQ (do_basetramp\050i\051) 378.88 496.86 T 1 0.5 0 0 0 0.5 1 1 K 416.6 411.18 416.6 395.67 2 L 0.5 H N 386.86 366.77 404.28 383.54 R 5 X V 1 H 0 X N 438.81 373.01 447.93 382.72 R 5 X V 0 X N 469.21 372.65 478.33 382.72 R 5 X V 0 X N 499.61 372.29 508.73 382.72 R 5 X V 0 X N 1 1 0 0 0 0 1 1 K 394.7 387.53 394.7 382.84 2 L 0.5 H 0 Z N 397.27 387.28 394.7 382.84 392.14 387.28 3 L N 394.7 393.98 394.7 387.53 2 L 2 Z N 433.33 381.59 438.03 381.59 2 L 0 Z N 433.58 384.15 438.03 381.59 433.58 379.02 3 L N 403.42 381.59 433.33 381.59 2 L 2 Z N 463.65 381.59 468.35 381.59 2 L 0 Z N 463.9 384.15 468.35 381.59 463.9 379.02 3 L N 448.1 381.59 463.65 381.59 2 L 2 Z N 495.57 381.59 500.27 381.59 2 L 0 Z N 495.82 384.15 500.27 381.59 495.82 379.02 3 L N 478.42 381.59 495.57 381.59 2 L 2 Z N 484.42 375.94 479.72 375.94 2 L 0 Z N 484.17 373.37 479.72 375.94 484.17 378.5 3 L N 499.97 375.94 484.42 375.94 2 L 2 Z N 453.3 376.01 448.6 375.94 2 L 0 Z N 453.08 373.44 448.6 375.94 453.01 378.57 3 L N 468.05 376.22 453.3 376.01 2 L 2 Z N 408.04 374.54 403.34 374.54 2 L 0 Z N 407.79 371.98 403.34 374.54 407.79 377.11 3 L N 438.75 374.54 408.04 374.54 2 L 2 Z N 0 0 0 1 0 0 0 1 K (in) 219.44 448.36 T (v) 227.38 448.36 T (ok) 232.28 448.36 T (e nati) 242.74 448.36 T (v) 266.24 448.36 T (e method) 271.14 448.36 T (do_basetramp\050i\051) 220.25 439.72 T (do_basetramp) 284.32 508.35 T (method inf) 286.72 500.29 T (o) 332.86 500.29 T 0 1 0 0 1 0 1 1 K 237.29 511.47 237.29 491.6 2 L N 1 15.19 18.01 QQ (. . .) 189.9 498.72 T 0 0 0 1 0 0 0 1 K 1 10.13 12 QQ (Class object) 165.75 560.95 T (Constant P) 275.99 559.39 T (ool) 332.75 559.39 T (BaseT) 369.78 509.94 T (ramp.class) 400.89 509.94 T 1 8.44 10 QQ (id i) 389.6 399.82 T 1 0.5 0 0 0 0.5 1 1 K 373.51 425.17 454.31 454.07 R 5 X V 1 H 0 X N 0 0 0 1 0 0 0 1 K 1 8.11 10 QQ (do_basetramp\050i\051) 380.71 443.82 T 1 10.13 12 QQ (lib) 414.55 457.18 T (baseT) 427.78 457.18 T (ramp.so) 457.56 457.18 T (Original) 88.17 469.32 T (byte-code) 143.53 469.09 T (SP) 401.44 386.1 T (ARC instrumentation) 414.56 386.1 T 1 1 0 0 0 0 1 1 K 215.12 408.17 322 424.52 R 7 X V 0.5 H 0 X N 215 381.36 321.88 395.61 R 7 X V 0 X N 0 0 0 1 0 0 0 1 K 1 8.44 10 QQ (nop) 221.58 414.68 T (nop) 222.91 387.52 T 0 1 0 0 1 0 1 1 K 137.21 478.81 139.85 478.81 137.21 469.59 134.56 478.81 4 Y 1 H 0 Z N 137.21 478.81 139.85 478.81 137.21 469.59 134.56 478.81 4 Y V 124.71 495.21 137.21 495.21 137.21 479.31 3 L 0.5 H 2 Z N 220.71 523.13 223.35 523.13 220.71 513.91 218.06 523.13 4 Y 1 H 0 Z N 220.71 523.13 223.35 523.13 220.71 513.91 218.06 523.13 4 Y V 199.71 531.51 220.71 531.51 220.71 523.63 3 L 0.5 H 2 Z N 1 1 0 0 0 0 1 1 K 401.87 465.68 404.52 465.68 401.87 456.46 399.23 465.68 4 Y 1 H 0 Z N 401.87 465.68 404.52 465.68 401.87 456.46 399.23 465.68 4 Y V 401.87 484.9 401.87 466.18 2 L 0.5 H 2 Z N 400.21 422.77 402.85 422.77 400.21 413.55 397.56 422.77 4 Y 1 H 0 Z N 400.21 422.77 402.85 422.77 400.21 413.55 397.56 422.77 4 Y V 400.21 437.06 400.21 423.27 2 L 0.5 H 2 Z N 0 1 0 0 1 0 1 1 K 270.01 554.54 270.01 557.19 279.23 554.54 270.01 551.9 4 Y 1 H 0 Z N 270.01 554.54 270.01 557.19 279.23 554.54 270.01 551.9 4 Y V 208.54 542.58 257.71 542.58 257.71 554.54 269.51 554.54 4 L 0.5 H 2 Z N 1 1 0 0 0 0 1 1 K 365.84 498.26 365.84 500.91 375.06 498.26 365.84 495.62 4 Y 1 H 0 Z N 365.84 498.26 365.84 500.91 375.06 498.26 365.84 495.62 4 Y V 315.21 441.28 355.06 441.28 355.06 498.26 365.34 498.26 4 L 0.5 H 2 Z N 0 0 0 1 0 0 0 1 K -45 -45 657 837 C 0 0 0 1 0 0 0 1 K FMENDPAGE %%EndPage: "8" 8 %%Page: "9" 9 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 9) 513.06 749.33 T (W) 90 713.33 T (e) 98.64 713.33 T (re-use) 105.89 713.33 T (much) 133.12 713.33 T (of) 158.15 713.33 T (P) 169.28 713.33 T (aradyn\325) 174.69 713.33 T (s) 204.68 713.33 T (code) 211.38 713.33 T (generation) 233.06 713.33 T (f) 278.08 713.33 T (acilities) 281.31 713.33 T (for) 315.23 713.33 T (generating) 329.69 713.33 T (SP) 374.71 713.33 T (ARC) 384.91 713.33 T (instrumentation) 408.27 713.33 T (code) 473.86 713.33 T (to) 495.54 713.33 T (generate) 506.13 713.33 T (instrumentation) 72 697.33 T (code) 137.08 697.33 T (for) 158.26 697.33 T (Ja) 172.22 697.33 T (v) 180.35 697.33 T (a) 185.1 697.33 T (AP) 191.84 697.33 T (methods.) 206.92 697.33 T (SP) 245.61 697.33 T (ARC) 255.81 697.33 T (instrumentation) 278.67 697.33 T (code) 343.76 697.33 T (can) 364.94 697.33 T (be) 381.12 697.33 T (used) 392.86 697.33 T (to) 413.49 697.33 T (instrument) 423.57 697.33 T (Ja) 468.65 697.33 T (v) 476.78 697.33 T (a) 481.53 697.33 T (byte-codes) 488.27 697.33 T (if) 533.89 697.33 T (we) 72 680.67 T (de\336ne) 85.98 680.67 T 2 11 Q (do_baseTramp) 112.73 680.67 T 0 10 Q (to) 194.25 680.67 T (be) 204.34 680.67 T (a) 216.1 680.67 T (nati) 222.85 680.67 T (v) 237.6 680.67 T (e) 242.46 680.67 T (method.) 249.21 680.67 T (Ja) 284.03 680.67 T (v) 292.16 680.67 T (a\325) 296.91 680.67 T (s) 304.13 680.67 T (nati) 310.33 680.67 T (v) 325.08 680.67 T (e) 329.93 680.67 T (method) 336.69 680.67 T (f) 369.01 680.67 T (acility) 372.23 680.67 T (is) 399.55 680.67 T (a) 408.54 680.67 T (mechanism) 415.29 680.67 T (through) 463.16 680.67 T (which) 496.58 680.67 T (rou-) 523.34 680.67 T (tines) 72 663.67 T (written) 94.08 663.67 T (in) 125.61 663.67 T (C) 136.58 663.67 T (or) 146.44 663.67 T (C++) 157.96 663.67 T (can) 179.11 663.67 T (be) 196.18 663.67 T (called) 208.81 663.67 T (by) 235.89 663.67 T (Ja) 249.08 663.67 T (v) 257.21 663.67 T (a) 261.96 663.67 T (byte-codes.) 269.59 663.67 T (The) 318.61 663.67 T (C) 337.35 663.67 T (code) 347.21 663.67 T (for) 369.29 663.67 T 2 11 Q (do_baseTramp) 384.14 663.67 T 0 10 Q (is) 466.53 663.67 T (complied) 476.39 663.67 T (into) 516.81 663.67 T (a) 535.56 663.67 T (shared) 72 647.33 T (library) 101.14 647.33 T (,) 127.15 647.33 T (and) 132.68 647.33 T (a) 150.16 647.33 T (Ja) 157.64 647.33 T (v) 165.77 647.33 T (a) 170.52 647.33 T 2 F (BaseTramp) 178 647.33 T 0 F (class) 235.04 647.33 T (is) 257.51 647.33 T (created) 267.22 647.33 T (that) 299.13 647.33 T (declares) 317.17 647.33 T 2 F (do_baseTramp) 352.96 647.33 T 0 F (to) 428 647.33 T (be) 438.82 647.33 T (a) 451.3 647.33 T (static) 458.77 647.33 T (nati) 482.92 647.33 T (v) 497.67 647.33 T (e) 502.52 647.33 T (method) 510 647.33 T (function.) 72 631.33 T (When) 110.78 631.33 T (this) 137.62 631.33 T (class) 155.02 631.33 T (is) 177.42 631.33 T (compiled,) 187.04 631.33 T (the) 229.72 631.33 T (Ja) 244.89 631.33 T (v) 253.02 631.33 T (a) 257.77 631.33 T (compiler) 265.17 631.33 T (generates) 303.67 631.33 T (byte-code) 344.38 631.33 T (stub) 386.77 631.33 T (procedures) 406.39 631.33 T (for) 453.22 631.33 T (the) 467.83 631.33 T (nati) 483.01 631.33 T (v) 497.76 631.33 T (e) 502.61 631.33 T (method) 510 631.33 T (that can be called by other byte-code to trigger the VM to load and e) 72 615.33 T (x) 345.68 615.33 T (ecute the nati) 350.53 615.33 T (v) 403.6 615.33 T (e code in the shared library) 408.45 615.33 T (.) 516.38 615.33 T (The) 90 589.33 T (C) 108.71 589.33 T (implementation) 118.54 589.33 T (of) 184.49 589.33 T (the) 195.98 589.33 T 2 F (do_baseTramp) 211.36 589.33 T 0 F (routine) 286.52 589.33 T (contains) 318.01 589.33 T (a) 354.51 589.33 T (v) 362.11 589.33 T (ector) 366.96 589.33 T (of) 390.11 589.33 T (function) 401.6 589.33 T (pointers) 438.09 589.33 T (that) 473.48 589.33 T (call) 491.64 589.33 T (SP) 509.24 589.33 T (ARC) 519.44 589.33 T (instrumentation) 72 572.67 T (code.) 140.56 572.67 T (The) 167.73 572.67 T 2 11 Q (id) 189.06 572.67 T 0 10 Q (ar) 208.05 572.67 T (gument) 215.64 572.67 T (is) 251.42 572.67 T (an) 263.88 572.67 T (inde) 279.1 572.67 T (x) 296.17 572.67 T (into) 306.95 572.67 T (the) 328.3 572.67 T (v) 346.3 572.67 T (ector) 351.15 572.67 T (to) 376.93 572.67 T (call) 390.49 572.67 T (the) 410.72 572.67 T (instrumentation) 428.72 572.67 T (code.) 497.29 572.67 T (The) 524.45 572.67 T 2 11 Q (do_baseTramp) 72 555.67 T 0 10 Q ( method will return to the calling method via the nati) 151.2 555.67 T (v) 362.05 555.67 T (e method interf) 366.9 555.67 T (ace.) 427.9 555.67 T (T) 90 529.33 T (o) 95.31 529.33 T (get) 103.28 529.33 T (the) 118.48 529.33 T (Ja) 133.67 529.33 T (v) 141.8 529.33 T (a) 146.55 529.33 T (VM) 153.96 529.33 T (to) 173.05 529.33 T (e) 183.8 529.33 T (x) 188.09 529.33 T (ecute) 192.94 529.33 T (the) 217.01 529.33 T 2 F (do_baseTramp) 232.21 529.33 T 0 F (method,) 307.18 529.33 T (\336rst) 342.65 529.33 T (P) 361.19 529.33 T (aradyn-J) 366.6 529.33 T (has) 404 529.33 T (to) 420.3 529.33 T (get) 431.06 529.33 T (the) 446.25 529.33 T (VM) 461.45 529.33 T (has) 480.53 529.33 T (to) 496.83 529.33 T (load) 507.59 529.33 T (the) 527.78 529.33 T 2 11 Q (BaseTramp) 72 512.67 T 0 10 Q (class) 134.68 512.67 T (\336le.) 157.41 512.67 T (One) 175.97 512.67 T (w) 195.92 512.67 T (ay) 203.04 512.67 T (to) 215.76 512.67 T (do) 226.83 512.67 T (this) 240.11 512.67 T (is) 257.85 512.67 T (to) 267.8 512.67 T (add) 278.87 512.67 T (instrumentation) 296.59 512.67 T (to) 362.66 512.67 T (the) 373.72 512.67 T (VM) 389.23 512.67 T (that) 408.62 512.67 T (will) 426.91 512.67 T (call) 445.75 512.67 T (its) 463.48 512.67 T (load) 476.21 512.67 T (routines) 496.71 512.67 T (to) 532.22 512.67 T (e) 72 495.67 T (xplicitly) 76.29 495.67 T (load) 113.18 495.67 T (the) 133.95 495.67 T 2 11 Q (BaseTramp) 149.72 495.67 T 0 10 Q (class.) 212.66 495.67 T (Another) 238.15 495.67 T (alternati) 274.47 495.67 T (v) 306.99 495.67 T (e) 311.84 495.67 T (is) 319.83 495.67 T (to) 330.05 495.67 T (\336nd) 341.38 495.67 T (the) 360.49 495.67 T (main) 376.26 495.67 T (method) 399.8 495.67 T (and,) 433.35 495.67 T (before) 453.84 495.67 T (it) 482.93 495.67 T (is) 492.04 495.67 T (e) 502.26 495.67 T (x) 506.55 495.67 T (ecuted,) 511.4 495.67 T (instrument) 72 478.67 T (it) 117.67 478.67 T (to) 126.11 478.67 T (include) 136.77 478.67 T (a) 169.1 478.67 T (call) 176.42 478.67 T (to) 193.75 478.67 T (a) 204.41 478.67 T (BaseT) 211.74 478.67 T (ramp) 236.94 478.67 T (method) 260.37 478.67 T (function.) 293.26 478.67 T (This) 331.97 478.67 T (will) 352.64 478.67 T (trigger) 371.08 478.67 T (the) 400.63 478.67 T (VM) 415.73 478.67 T (to) 434.73 478.67 T (load) 445.39 478.67 T (the) 465.49 478.67 T 2 11 Q (BaseTramp) 480.6 478.67 T 0 10 Q (class) 72 462.33 T (at) 94.32 462.33 T (the) 104.43 462.33 T (point) 119.53 462.33 T (when) 142.98 462.33 T (the) 167.52 462.33 T (function) 182.63 462.33 T (is) 218.84 462.33 T (called.) 228.4 462.33 T (The) 257.66 462.33 T (\336rst) 276.1 462.33 T (option) 294.54 462.33 T (is) 322.98 462.33 T (better) 332.54 462.33 T (because) 358.19 462.33 T (P) 392.73 462.33 T (aradyn-J) 398.14 462.33 T (has) 435.45 462.33 T (control) 451.67 462.33 T (o) 482.88 462.33 T (v) 487.73 462.33 T (er) 492.58 462.33 T (when) 503.23 462.33 T (the) 527.78 462.33 T 2 11 Q (BaseTramp) 72 445.67 T 0 10 Q (class) 134.16 445.67 T (has) 156.37 445.67 T (been) 172.46 445.67 T (loaded) 194.11 445.67 T (and,) 223.53 445.67 T (as) 243.24 445.67 T (a) 254.33 445.67 T (result,) 261.53 445.67 T (kno) 289.02 445.67 T (ws) 303.77 445.67 T (when) 317.64 445.67 T (byte-code) 342.07 445.67 T (instrumentation) 384.26 445.67 T (can) 449.8 445.67 T (be) 466.45 445.67 T (inserted.) 478.65 445.67 T (In) 515.58 445.67 T (our) 526.67 445.67 T (current) 72 428.67 T (implementation,) 102.77 428.67 T (we) 170.49 428.67 T (get) 184.6 428.67 T (the) 199.27 428.67 T (application) 213.93 428.67 T (to) 260.82 428.67 T (load) 271.05 428.67 T (the) 290.71 428.67 T 2 11 Q (BaseTramp) 305.38 428.67 T 0 10 Q (class) 367.23 428.67 T (by) 389.11 428.67 T (modifying) 401.56 428.67 T (the) 445.68 428.67 T (application\325) 460.34 428.67 T (s) 507.56 428.67 T (source) 513.9 428.67 T (code;) 72 411.67 T (a) 96.43 411.67 T (call) 103.64 411.67 T (to) 120.85 411.67 T (a) 131.4 411.67 T 2 11 Q (BaseTramp) 138.61 411.67 T 0 10 Q (method) 200.78 411.67 T (is) 233.55 411.67 T (added) 242.99 411.67 T (to) 269.64 411.67 T (the) 280.18 411.67 T (application\325) 295.17 411.67 T (s) 342.39 411.67 T 2 11 Q (main) 349.05 411.67 T 0 10 Q (method.) 378.22 411.67 T (As) 413.49 411.67 T (a) 427.37 411.67 T (result,) 434.58 411.67 T (we) 462.07 411.67 T (ha) 476.5 411.67 T (v) 485.74 411.67 T (e) 490.59 411.67 T (to) 497.8 411.67 T (re-com-) 508.35 411.67 T (pile) 72 394.67 T (one) 89.83 394.67 T (AP) 107.1 394.67 T (class) 122.71 394.67 T (\050the) 144.98 394.67 T (source) 163.36 394.67 T (\336le) 192.29 394.67 T (that) 207.9 394.67 T (contains) 225.73 394.67 T (the) 261.89 394.67 T (method) 276.93 394.67 T 2 11 Q (main\051) 309.76 394.67 T 0 10 Q (.) 342.76 394.67 T (P) 348.09 394.67 T (aradyn-J) 353.5 394.67 T (can) 390.76 394.67 T (be) 407.47 394.67 T (implemented) 419.74 394.67 T (to) 474.79 394.67 T (get) 485.4 394.67 T (rid) 500.45 394.67 T (of) 514.39 394.67 T (this) 525.55 394.67 T (e) 72 378.33 T (xtra compiling step; the current v) 76.29 378.33 T (ersion is a simpli\336cation for our prototype implementation.) 209.18 378.33 T (Instrumentation) 90 352.33 T (type) 157.29 352.33 T (tags) 178.46 352.33 T (associated) 198.52 352.33 T (with) 243.58 352.33 T (AP) 265.31 352.33 T (and) 282.05 352.33 T (VM) 300.44 352.33 T (resources) 320.51 352.33 T (are) 362.22 352.33 T (used) 378.39 352.33 T (to) 400.67 352.33 T (determine) 412.41 352.33 T (if) 456.35 352.33 T (generated) 466.42 352.33 T (SP) 509.24 352.33 T (ARC) 519.44 352.33 T (instrumentation) 72 336.33 T (code) 138.94 336.33 T (should) 161.99 336.33 T (be) 192.82 336.33 T (inserted) 206.42 336.33 T (into) 242.25 336.33 T (Ja) 261.97 336.33 T (v) 270.1 336.33 T (a) 274.85 336.33 T (method) 283.45 336.33 T (byte-codes) 317.62 336.33 T (using) 365.1 336.33 T (T) 390.93 336.33 T (ransformational) 396.69 336.33 T (Instrumentation) 464.18 336.33 T (or) 531.67 336.33 T (should) 72 320.33 T (be) 100.98 320.33 T (inserted) 112.73 320.33 T (into) 146.7 320.33 T (Ja) 164.57 320.33 T (v) 172.7 320.33 T (a) 177.45 320.33 T (VM) 184.2 320.33 T (code) 202.62 320.33 T (using) 223.81 320.33 T (Dynamic) 247.79 320.33 T (Instrumentation.) 286.76 320.33 T (The) 354.9 320.33 T (tag) 372.76 320.33 T (types) 387.29 320.33 T (may) 410.71 320.33 T (also) 430.24 320.33 T (be) 448.66 320.33 T (required) 460.41 320.33 T (to) 496.04 320.33 T (generate) 506.13 320.33 T (dif) 72 304.33 T (ferent) 82.86 304.33 T (instrumentation) 108.62 304.33 T (code.) 173.84 304.33 T (F) 197.65 304.33 T (or) 203.06 304.33 T (e) 213.83 304.33 T (xample,) 218.12 304.33 T (return) 252.5 304.33 T (v) 278.82 304.33 T (alues) 283.57 304.33 T (for) 306.55 304.33 T (SP) 320.65 304.33 T (ARC) 330.85 304.33 T (routines) 353.85 304.33 T (are) 388.51 304.33 T (stored) 403.15 304.33 T (in) 430.03 304.33 T (a) 440.25 304.33 T (re) 447.13 304.33 T (gister) 454.75 304.33 T (,) 476.57 304.33 T (and) 481.51 304.33 T (return) 498.38 304.33 T (v) 524.7 304.33 T (al-) 529.45 304.33 T (ues) 72 288.33 T (for) 88.77 288.33 T (Ja) 103.87 288.33 T (v) 112 288.33 T (a) 116.75 288.33 T (methods) 124.63 288.33 T (are) 161.96 288.33 T (pushed) 177.62 288.33 T (onto) 209.39 288.33 T (the) 230.61 288.33 T (method\325) 246.27 288.33 T (s) 279.05 288.33 T (operand) 286.38 288.33 T (stack.) 322.03 288.33 T (Instrumentation) 348.52 288.33 T (code) 415.29 288.33 T (that) 437.61 288.33 T (gets) 456.06 288.33 T (the) 475.61 288.33 T (return) 491.27 288.33 T (v) 518.59 288.33 T (alue) 523.34 288.33 T (from) 72 272.33 T (a) 94.4 272.33 T (Ja) 101.81 272.33 T (v) 109.94 272.33 T (a) 114.69 272.33 T (method) 122.09 272.33 T (will) 155.05 272.33 T (dif) 173.58 272.33 T (fer) 184.44 272.33 T (from) 198.5 272.33 T (instrumentation) 220.91 272.33 T (code) 286.65 272.33 T (that) 308.49 272.33 T (gets) 326.46 272.33 T (the) 345.53 272.33 T (return) 360.71 272.33 T (v) 387.56 272.33 T (alue) 392.31 272.33 T (from) 411.93 272.33 T (a) 434.33 272.33 T (SP) 441.74 272.33 T (ARC) 451.94 272.33 T (function.) 475.46 272.33 T (In) 514.26 272.33 T (this) 525.55 272.33 T (case, the type tag can be used to generate the correct code.) 72 256.33 T 1 13 Q (3.4 P) 72 232.33 T (aradyn-J\325) 99.31 232.33 T (s Interaction with the J) 153.72 232.33 T (a) 282.07 232.33 T (v) 288.24 232.33 T (a VM) 294.61 232.33 T 0 10 Q (P) 72 210.33 T (aradyn-J) 77.41 210.33 T (interacts) 115.23 210.33 T (with) 152.51 210.33 T (the) 173.68 210.33 T (Ja) 189.29 210.33 T (v) 197.42 210.33 T (a) 202.17 210.33 T (VM) 210.01 210.33 T (at) 229.51 210.33 T (run-time) 240.12 210.33 T (whene) 277.95 210.33 T (v) 303.8 210.33 T (er) 308.65 210.33 T (the) 319.82 210.33 T (VM) 335.43 210.33 T (loads) 354.93 210.33 T (a) 379.44 210.33 T (Ja) 387.27 210.33 T (v) 395.4 210.33 T (a) 400.15 210.33 T (AP) 407.98 210.33 T (class) 424.15 210.33 T (\336le) 446.99 210.33 T (or) 463.16 210.33 T (compiles) 474.88 210.33 T (an) 514.39 210.33 T (AP) 527.22 210.33 T (method.) 72 194.33 T (Ne) 107.5 194.33 T (w) 118.92 194.33 T (class) 129.14 194.33 T (\336les) 151.59 194.33 T (can) 171.26 194.33 T (be) 188.15 194.33 T (loaded) 200.59 194.33 T (by) 230.26 194.33 T (the) 243.26 194.33 T (Ja) 258.49 194.33 T (v) 266.62 194.33 T (a) 271.37 194.33 T (VM) 278.81 194.33 T (at) 297.93 194.33 T (an) 308.15 194.33 T (y) 317.44 194.33 T (point) 325.45 194.33 T (in) 349.01 194.33 T (the) 359.8 194.33 T (e) 375.02 194.33 T (x) 379.31 194.33 T (ecution.) 384.16 194.33 T (Classes) 419.11 194.33 T (and) 452.11 194.33 T (their) 469.56 194.33 T (methods) 490.89 194.33 T (are) 527.79 194.33 T (program) 72 178.33 T (resources) 109.03 178.33 T (that) 149.93 178.33 T (P) 168.08 178.33 T (aradyn-J) 173.49 178.33 T (needs) 211.07 178.33 T (to) 236.98 178.33 T (disco) 247.91 178.33 T (v) 268.87 178.33 T (er) 273.72 178.33 T (and) 284.64 178.33 T (possibly) 302.23 178.33 T (measure;) 338.71 178.33 T (P) 377.96 178.33 T (aradyn-J) 383.37 178.33 T (must) 420.95 178.33 T (be) 443.54 178.33 T (able) 456.13 178.33 T (to) 475.94 178.33 T (disco) 486.86 178.33 T (v) 507.82 178.33 T (er) 512.67 178.33 T (ne) 523.59 178.33 T (w) 532.78 178.33 T (AP) 72 162.33 T (code) 87.2 162.33 T (resources) 108.5 162.33 T (whene) 148.68 162.33 T (v) 174.53 162.33 T (er) 179.38 162.33 T (the) 189.57 162.33 T (VM) 204.21 162.33 T (loads) 222.74 162.33 T (an) 246.27 162.33 T (AP) 258.13 162.33 T (class) 273.33 162.33 T (\336le.) 295.19 162.33 T (T) 312.89 162.33 T (o) 318.2 162.33 T (do) 325.62 162.33 T (this,) 338.05 162.33 T (instrumentation) 357.42 162.33 T (code) 422.62 162.33 T (is) 443.92 162.33 T (added) 453.01 162.33 T (to) 479.31 162.33 T (the) 489.51 162.33 T (Ja) 504.15 162.33 T (v) 512.28 162.33 T (a) 517.03 162.33 T (VM) 523.89 162.33 T (routines) 72 146.33 T (that) 106.88 146.33 T (perform) 124.54 146.33 T (class) 159.42 146.33 T (\336le) 181.52 146.33 T (loading.) 196.96 146.33 T (When) 232.12 146.33 T (a) 258.67 146.33 T (class) 265.77 146.33 T (\336le) 287.87 146.33 T (is) 303.31 146.33 T (loaded) 312.64 146.33 T (by) 341.96 146.33 T (the) 354.63 146.33 T (VM,) 369.51 146.33 T (instrumentation) 390.78 146.33 T (code) 456.22 146.33 T (is) 477.77 146.33 T (e) 487.1 146.33 T (x) 491.39 146.33 T (ecuted) 496.24 146.33 T (that) 525 146.33 T (passes P) 72 130.33 T (aradyn-J the information necessary to locate the loaded class in VM data structures.) 105.46 130.33 T (Once) 90 104.33 T (the) 113.57 104.33 T (VM) 128.26 104.33 T (has) 146.84 104.33 T (loaded) 162.64 104.33 T (a) 191.77 104.33 T (Ja) 198.68 104.33 T (v) 206.81 104.33 T (a) 211.56 104.33 T (class,) 218.47 104.33 T (P) 242.88 104.33 T (aradyn-J) 248.29 104.33 T (e) 285.18 104.33 T (xamines) 289.48 104.33 T (the) 325.27 104.33 T (VM\325) 339.96 104.33 T (s) 358.85 104.33 T (data) 365.21 104.33 T (structures) 384.34 104.33 T (to) 425.69 104.33 T (disco) 435.94 104.33 T (v) 456.9 104.33 T (er) 461.75 104.33 T (the) 471.99 104.33 T (ne) 486.68 104.33 T (wly) 495.87 104.33 T (loaded) 513.34 104.33 T (methods) 72 88.33 T (for) 109.11 88.33 T (the) 123.99 88.33 T (class,) 139.43 88.33 T (and) 164.59 88.33 T (parses) 182.25 88.33 T (each) 210.46 88.33 T (method\325) 232.01 88.33 T (s) 264.79 88.33 T (byte-code) 271.89 88.33 T (instructions) 314.55 88.33 T (to) 364.44 88.33 T (\336nd) 375.44 88.33 T (the) 394.22 88.33 T (method\325) 409.66 88.33 T (s) 442.44 88.33 T (instrumentation) 449.55 88.33 T (points) 515.55 88.33 T FMENDPAGE %%EndPage: "9" 9 %%Page: "10" 10 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 10) 508.06 749.33 T (\050the method\325) 72 713.33 T (s entry) 122.83 713.33 T (, e) 149.12 713.33 T (xit, and call sites\051. At this point, instrumentation requests can be made for the class\325 methods.) 158.41 713.33 T (P) 90 687.33 T (aradyn-J) 95.41 687.33 T (also) 133.3 687.33 T (interacts) 152.87 687.33 T (with) 190.21 687.33 T (the) 211.45 687.33 T (VM\325) 227.13 687.33 T (s) 246.02 687.33 T (run-time) 253.37 687.33 T (compiling) 291.27 687.33 T (routines.) 335.29 687.33 T (P) 373.46 687.33 T (aradyn-J) 378.87 687.33 T (disco) 416.76 687.33 T (v) 437.72 687.33 T (ers) 442.57 687.33 T (the) 457.69 687.33 T (nati) 473.37 687.33 T (v) 488.12 687.33 T (e) 492.97 687.33 T (form) 500.87 687.33 T (of) 523.77 687.33 T (a) 535.56 687.33 T (compiled) 72 671.33 T (method) 112.12 671.33 T (so) 145.02 671.33 T (that) 156.81 671.33 T (the) 174.71 671.33 T (nati) 189.83 671.33 T (v) 204.58 671.33 T (e) 209.43 671.33 T (form) 216.77 671.33 T (can) 239.11 671.33 T (be) 255.88 671.33 T (instrumented,) 268.22 671.33 T (creates) 325.84 671.33 T (mappings) 356.5 671.33 T (between) 398.29 671.33 T (byte-code) 434.51 671.33 T (and) 476.84 671.33 T (nati) 494.18 671.33 T (v) 508.93 671.33 T (e) 513.78 671.33 T (code) 521.12 671.33 T (forms) 72 655.33 T (of) 97.76 655.33 T (a) 108.53 655.33 T (method) 115.4 655.33 T (so) 147.83 655.33 T (that) 159.15 655.33 T (performance) 176.59 655.33 T (data) 229.55 655.33 T (collected) 248.64 655.33 T (in) 287.17 655.33 T (dif) 297.39 655.33 T (ferent) 308.24 655.33 T (forms) 334 655.33 T (of) 359.76 655.33 T (an) 370.52 655.33 T (AP) 382.39 655.33 T (method) 397.61 655.33 T (can) 430.04 655.33 T (be) 446.35 655.33 T (correlated,) 458.23 655.33 T (and) 503.14 655.33 T (mea-) 520.01 655.33 T (sures) 72 639.33 T (costs) 95.74 639.33 T (associated) 118.94 639.33 T (with) 163.23 639.33 T (the) 184.21 639.33 T (run-time) 199.62 639.33 T (compilation) 237.25 639.33 T (of) 288.23 639.33 T (a) 299.75 639.33 T (method.) 307.39 639.33 T (P) 343.08 639.33 T (aradyn-J) 348.49 639.33 T (instruments) 386.11 639.33 T (our) 435.98 639.33 T (routine) 452.5 639.33 T (that) 484.03 639.33 T (simulates) 502.22 639.33 T (run-time) 72 623.33 T (compilation.) 110.15 623.33 T (The) 164.13 623.33 T (instrumentation) 183.39 623.33 T (noti\336es) 249.88 623.33 T (P) 283.03 623.33 T (aradyn-J) 288.44 623.33 T (when) 326.58 623.33 T (a) 351.95 623.33 T (method) 360.1 623.33 T (is) 393.8 623.33 T (\322dynamically) 404.18 623.33 T (compiled\323.) 461.77 623.33 T (At) 509.63 623.33 T (run-) 523.34 623.33 T (time,) 72 607.33 T (the) 94.7 607.33 T (VM) 109.34 607.33 T (calls) 127.87 607.33 T 2 F (dlopen) 148.63 607.33 T 0 F (to) 187.05 607.33 T (load) 197.25 607.33 T (the) 216.89 607.33 T (shared) 231.53 607.33 T (objects) 260.05 607.33 T (that) 290.8 607.33 T (contain) 308.23 607.33 T (the) 340.09 607.33 T (nati) 354.73 607.33 T (v) 369.48 607.33 T (e) 374.33 607.33 T (v) 381.19 607.33 T (ersions) 386.04 607.33 T (of) 416.79 607.33 T (the) 427.54 607.33 T (AP) 442.18 607.33 T (methods) 457.39 607.33 T (and) 493.7 607.33 T (contain) 510.56 607.33 T (our) 72 591.33 T (\322compiling\323) 88.55 591.33 T (routine.) 141.21 591.33 T (P) 175.26 591.33 T (aradyn-J) 180.67 591.33 T (instruments) 218.32 591.33 T (the) 268.22 591.33 T (VM) 283.66 591.33 T (to) 302.99 591.33 T (catch) 313.99 591.33 T 2 F (dlopen) 338.31 591.33 T 0 F (e) 377.53 591.33 T (v) 381.72 591.33 T (ents.) 386.57 591.33 T (When) 408.4 591.33 T (P) 435.51 591.33 T (aradyn-J) 440.92 591.33 T (detects) 478.57 591.33 T (that) 509.56 591.33 T (the) 527.78 591.33 T (VM) 72 575.33 T (has) 90.94 575.33 T (loaded) 107.11 575.33 T (our) 136.6 575.33 T (\322compiling\323) 152.77 575.33 T (routine,) 205.04 575.33 T (P) 238.71 575.33 T (aradyn-J) 244.12 575.33 T (instruments) 281.38 575.33 T (it.) 330.88 575.33 T (Instrumentation) 341.78 575.33 T (at) 407.94 575.33 T (its) 417.99 575.33 T (entry) 430.28 575.33 T (point) 453.66 575.33 T (starts) 477.06 575.33 T (a) 501 575.33 T (timer) 508.28 575.33 T (to) 532.22 575.33 T (measure) 72 559.33 T (the) 108.31 559.33 T (run-time) 123.52 559.33 T (compiling) 160.95 559.33 T (o) 204.51 559.33 T (v) 209.35 559.33 T (erhead.) 214.21 559.33 T (Instrumentation) 246.35 559.33 T (at) 312.67 559.33 T (its) 322.88 559.33 T (e) 335.32 559.33 T (xit) 339.61 559.33 T (point) 353.16 559.33 T (stops) 376.71 559.33 T (the) 400.26 559.33 T (timer) 415.48 559.33 T (measuring) 439.58 559.33 T (the) 484.23 559.33 T (compiling) 499.44 559.33 T (o) 72 543.33 T (v) 76.85 543.33 T (erhead,) 81.7 543.33 T (and) 113.79 543.33 T (gets) 131.17 543.33 T (the) 150.22 543.33 T (name) 165.38 543.33 T (of) 189.98 543.33 T (the) 201.25 543.33 T (nati) 216.41 543.33 T (v) 231.16 543.33 T (e) 236.01 543.33 T (form) 243.39 543.33 T (of) 265.77 543.33 T (the) 277.05 543.33 T (method) 292.21 543.33 T (to) 325.15 543.33 T (obtain) 335.87 543.33 T (mapping) 363.81 543.33 T (information) 401.75 543.33 T (between) 451.91 543.33 T (the) 488.17 543.33 T (method\325) 503.33 543.33 T (s) 536.11 543.33 T (tw) 72 527.33 T (o forms.) 81.9 527.33 T (F) 90 501.33 T (or) 95.41 501.33 T (performance) 106.92 501.33 T (tools) 160.63 501.33 T (lik) 183.26 501.33 T (e) 193.72 501.33 T (ours,) 201.34 501.33 T (that) 224.23 501.33 T (instrument) 242.41 501.33 T (AP) 288.37 501.33 T (byte-codes,) 304.33 501.33 T (there) 353.33 501.33 T (is) 376.5 501.33 T (a) 386.35 501.33 T (problem) 393.97 501.33 T (of) 430.48 501.33 T (ho) 441.98 501.33 T (w) 451.73 501.33 T (to) 462.13 501.33 T (deal) 473.09 501.33 T (with) 492.93 501.33 T (instru-) 513.89 501.33 T (mented) 72 485.33 T (byte-codes) 103.77 485.33 T (that) 149.43 485.33 T (are) 166.76 485.33 T (about) 181.3 485.33 T (to) 205.86 485.33 T (be) 215.97 485.33 T (transformed) 227.74 485.33 T (by) 278.4 485.33 T (the) 290.73 485.33 T (dynamic) 305.29 485.33 T (compiler) 342.06 485.33 T (.) 377.06 485.33 T (One) 381.89 485.33 T (option) 400.89 485.33 T (is) 428.78 485.33 T (to) 437.78 485.33 T (let) 447.89 485.33 T (the) 460.23 485.33 T (VM) 474.78 485.33 T (compile) 493.23 485.33 T (the) 527.78 485.33 T (byte-code) 72 469.33 T (instrumentation) 114 469.33 T (along) 179.35 469.33 T (with) 204.13 469.33 T (the) 224.48 469.33 T (byte-code) 239.27 469.33 T (instructions) 281.27 469.33 T (of) 330.51 469.33 T (the) 341.4 469.33 T (AP) 356.19 469.33 T (method.) 371.54 469.33 T (This) 406.61 469.33 T (solution) 426.96 469.33 T (is) 461.76 469.33 T (not) 470.99 469.33 T (ideal) 486.34 469.33 T (because) 508.35 469.33 T (there) 72 453.33 T (is) 94.57 453.33 T (no) 103.82 453.33 T (guarantee) 116.39 453.33 T (that) 157.84 453.33 T (the) 175.42 453.33 T (VM) 190.22 453.33 T (will) 208.9 453.33 T (produce) 227.04 453.33 T (transformed) 261.83 453.33 T (instrumentation) 312.73 453.33 T (code) 378.08 453.33 T (that) 399.54 453.33 T (is) 417.12 453.33 T (measuring) 426.37 453.33 T (the) 470.61 453.33 T (same) 485.4 453.33 T (thing) 508.53 453.33 T (as) 531.67 453.33 T (the) 72 437.33 T (byte-code) 87.72 437.33 T (instrumentation) 130.66 437.33 T (\050the) 196.95 437.33 T (compiler) 216 437.33 T (could) 255.06 437.33 T (re-order) 280.78 437.33 T (instrumentation) 316.49 437.33 T (code) 382.77 437.33 T (and) 405.16 437.33 T (method) 423.1 437.33 T (code) 456.61 437.33 T (instructions,) 478.99 437.33 T (or) 531.67 437.33 T (could) 72 421.33 T (optimize) 97.4 421.33 T (a) 135.59 421.33 T (w) 139.88 421.33 T (ay) 147 421.33 T (some) 159.62 421.33 T (instrumentation) 183.92 421.33 T (code\051.) 249.88 421.33 T (A) 277.78 421.33 T (better) 288.18 421.33 T (option) 314.14 421.33 T (is) 342.88 421.33 T (to) 352.74 421.33 T (remo) 363.7 421.33 T (v) 384.1 421.33 T (e) 388.95 421.33 T (byte-code) 396.58 421.33 T (instrumentation) 439.19 421.33 T (from) 505.15 421.33 T (the) 527.78 421.33 T (method) 72 405.33 T (just) 105.24 405.33 T (prior) 122.93 405.33 T (to) 145.61 405.33 T (compilation,) 156.62 405.33 T (let) 210.14 405.33 T (the) 223.38 405.33 T (VM) 238.84 405.33 T (compile) 258.19 405.33 T (the) 293.65 405.33 T (method,) 309.11 405.33 T (and) 344.85 405.33 T (then) 362.53 405.33 T (generate) 382.98 405.33 T (equi) 420.09 405.33 T (v) 437.06 405.33 T (alent) 441.81 405.33 T (nati) 464.49 405.33 T (v) 479.24 405.33 T (e) 484.09 405.33 T (code) 491.77 405.33 T (instru-) 513.89 405.33 T (mentation,) 72 389.33 T (and) 117.43 389.33 T (insert) 134.8 389.33 T (it) 159.95 389.33 T (into) 168.44 389.33 T (the) 186.93 389.33 T (nati) 202.08 389.33 T (v) 216.83 389.33 T (e) 221.68 389.33 T (form) 229.05 389.33 T (of) 251.42 389.33 T (the) 262.68 389.33 T (method.) 277.83 389.33 T (This) 313.27 389.33 T (requires) 333.98 389.33 T (that) 369.12 389.33 T (the) 387.05 389.33 T (performance) 402.2 389.33 T (tool) 455.66 389.33 T (interact) 474.15 389.33 T (with) 507.07 389.33 T (the) 527.78 389.33 T (VM) 72 373.33 T (immediately) 90.89 373.33 T (before) 143.66 373.33 T (and) 171.98 373.33 T (after) 189.2 373.33 T (compilation) 210.3 373.33 T (of) 260.86 373.33 T (a) 271.96 373.33 T (method.) 279.18 373.33 T (Since) 314.46 373.33 T (our) 339.45 373.33 T (simulated) 355.56 373.33 T (compiling) 397.23 373.33 T (routine) 440.57 373.33 T (does) 471.67 373.33 T (not) 492.78 373.33 T (actually) 508.34 373.33 T (translate) 72 357.33 T (byte-code) 108.8 357.33 T (to) 151.15 357.33 T (nati) 161.85 357.33 T (v) 176.6 357.33 T (e) 181.45 357.33 T (code) 188.81 357.33 T (we) 210.61 357.33 T (did) 225.19 357.33 T (not) 240.89 357.33 T (ha) 256.59 357.33 T (v) 265.83 357.33 T (e) 270.68 357.33 T (to) 278.04 357.33 T (w) 288.74 357.33 T (orry) 295.86 357.33 T (about) 315.44 357.33 T (this) 340.58 357.33 T (problem) 357.95 357.33 T (for) 394.2 357.33 T (P) 408.78 357.33 T (aradyn-J\325) 414.19 357.33 T (s) 451.4 357.33 T (current) 458.21 357.33 T (implementa-) 489.45 357.33 T (tion. Ho) 72 341.33 T (we) 104.53 341.33 T (v) 115.94 341.33 T (er) 120.79 341.33 T (, when we port P) 128.16 341.33 T (aradyn-J to a real dynamic compiler we will ha) 195.5 341.33 T (v) 383.59 341.33 T (e to handle this case.) 388.44 341.33 T 1 13 Q (4 RESUL) 72 314.33 T (TS) 123.9 314.33 T 0 10 Q (W) 72 290.33 T (e) 80.64 290.33 T (present) 87.64 290.33 T (results) 119.09 290.33 T (using) 147.77 290.33 T (performance) 172 290.33 T (data) 225.1 290.33 T (from) 244.32 290.33 T (P) 266.33 290.33 T (aradyn-J.) 271.74 290.33 T (W) 311.23 290.33 T (e) 319.87 290.33 T (demonstrate) 326.88 290.33 T (ho) 378.32 290.33 T (w) 388.07 290.33 T (P) 397.86 290.33 T (aradyn-J) 403.27 290.33 T (can) 440.26 290.33 T (pro) 456.71 290.33 T (vide) 469.89 290.33 T (detailed) 489.67 290.33 T (per-) 523.9 290.33 T (formance) 72 274.33 T (data) 112.03 274.33 T (from) 130.97 274.33 T (tw) 152.68 274.33 T (o) 162.58 274.33 T (Ja) 169.85 274.33 T (v) 177.98 274.33 T (a) 182.73 274.33 T (applications,) 189.45 274.33 T (a) 242.55 274.33 T (neural) 249.26 274.33 T (netw) 276.52 274.33 T (ork) 295.86 274.33 T (application) 311.47 274.33 T (consisting) 358.18 274.33 T (of) 401.01 274.33 T (15,800) 411.61 274.33 T (lines) 441.39 274.33 T (of) 462.55 274.33 T (Ja) 473.15 274.33 T (v) 481.28 274.33 T (a) 486.03 274.33 T (source) 492.75 274.33 T (code) 521.12 274.33 T (and) 72 258.33 T (23) 89.72 258.33 T (class) 102.99 258.33 T (\336les,) 125.71 258.33 T (and) 148.15 258.33 T (a) 165.87 258.33 T (CPU) 173.59 258.33 T (simulator) 196.31 258.33 T (application) 237.37 258.33 T (consisting) 285.08 258.33 T (of) 328.92 258.33 T (1,200) 340.53 258.33 T (lines) 366.3 258.33 T (of) 388.47 258.33 T (code) 400.07 258.33 T (and) 422.23 258.33 T (11) 439.95 258.33 T (class) 453.22 258.33 T (\336les.) 475.94 258.33 T (Using) 498.38 258.33 T (this) 525.55 258.33 T (data,) 72 242.33 T (we) 93.45 242.33 T (tuned) 107.4 242.33 T (a) 131.92 242.33 T (method) 138.65 242.33 T (in) 170.94 242.33 T (the) 181.01 242.33 T (neural) 195.53 242.33 T (netw) 222.81 242.33 T (ork) 242.15 242.33 T (application) 257.77 242.33 T (impro) 304.51 242.33 T (ving) 328.24 242.33 T (the) 348.32 242.33 T (method\325) 362.83 242.33 T (s) 395.61 242.33 T (interpreted) 401.79 242.33 T (byte-code) 447.4 242.33 T (e) 489.13 242.33 T (x) 493.42 242.33 T (ecution) 498.27 242.33 T (by) 530 242.33 T (11%) 72 226.33 T (and) 93.17 226.33 T (its) 110.46 226.33 T (nati) 122.75 226.33 T (v) 137.5 226.33 T (e) 142.35 226.33 T (code) 149.63 226.33 T (e) 171.36 226.33 T (x) 175.65 226.33 T (ecution) 180.5 226.33 T (by) 212.78 226.33 T (10%,) 225.62 226.33 T (and) 249.3 226.33 T (impro) 266.58 226.33 T (ving) 290.32 226.33 T (o) 310.94 226.33 T (v) 315.79 226.33 T (erall) 320.64 226.33 T (performance) 341.26 226.33 T (of) 394.63 226.33 T (the) 405.8 226.33 T (application) 420.87 226.33 T (by) 468.15 226.33 T (10%) 480.99 226.33 T (when) 502.17 226.33 T (run) 526.67 226.33 T (under) 72 210.33 T (ExactVM.) 97.48 210.33 T (W) 141.57 210.33 T (e) 150.21 210.33 T (pro\336le) 157.35 210.33 T (the) 186.17 210.33 T (CPU) 201.1 210.33 T (simulator) 223.26 210.33 T (application) 263.74 210.33 T (to) 310.89 210.33 T (further) 321.38 210.33 T (sho) 351.3 210.33 T (w) 364.94 210.33 T (ho) 374.86 210.33 T (w) 384.61 210.33 T (we) 394.54 210.33 T (can) 408.91 210.33 T (obtain) 425.5 210.33 T (k) 453.2 210.33 T (e) 458.11 210.33 T (y) 462.39 210.33 T (performance) 470.1 210.33 T (data) 523.34 210.33 T (from a dynamically compiled e) 72 194.33 T (x) 196.83 194.33 T (ecution.) 201.68 194.33 T (Performance) 90 168.33 T (measures) 144.15 168.33 T (that) 184.43 168.33 T (describe) 202.49 168.33 T (speci\336c) 238.87 168.33 T (VM-AP) 272.48 168.33 T (interactions) 307.77 168.33 T (are) 357.49 168.33 T (obtained) 372.76 168.33 T (by) 410.26 168.33 T (dynamically) 423.33 168.33 T (inserting) 475.83 168.33 T (instru-) 513.89 168.33 T (mentation) 72 152.33 T (code) 114.34 152.33 T (into) 135.56 152.33 T (VM) 153.46 152.33 T (routines) 171.92 152.33 T (and) 206.48 152.33 T (Ja) 223.26 152.33 T (v) 231.39 152.33 T (a) 236.14 152.33 T (AP) 242.92 152.33 T (routines) 258.04 152.33 T (to) 292.61 152.33 T (measure) 302.73 152.33 T (the) 338.39 152.33 T (interaction.) 352.95 152.33 T (F) 400.56 152.33 T (or) 405.97 152.33 T (e) 416.64 152.33 T (xample,) 420.93 152.33 T (to) 455.21 152.33 T (measure) 465.34 152.33 T (the) 501 152.33 T (object) 515.56 152.33 T (creation) 72 136.33 T (o) 106.57 136.33 T (v) 111.42 136.33 T (erhead) 116.27 136.33 T (associated) 145.28 136.33 T (with) 188.74 136.33 T (objects) 208.88 136.33 T (created) 239.58 136.33 T (in) 270.81 136.33 T (AP) 280.95 136.33 T (method) 296.09 136.33 T 2 9 Q (foo,) 328.45 136.33 T 0 10 Q (we) 352.41 136.33 T (insert) 366.43 136.33 T (instrumentation) 391.02 136.33 T (into) 456.16 136.33 T (method) 474.08 136.33 T 2 9 Q (foo) 506.44 136.33 T 0 10 Q (that) 525 136.33 T (will) 72 120.33 T (set) 89.96 120.33 T (a) 103.47 120.33 T 2 9 Q (foo_flag) 110.31 120.33 T 0 10 Q (whene) 158.7 120.33 T (v) 184.55 120.33 T (er) 189.4 120.33 T 2 9 Q (foo) 199.57 120.33 T 0 10 Q (creates) 218.17 120.33 T (an) 248.34 120.33 T (object,) 260.18 120.33 T (and) 289.52 120.33 T (we) 306.36 120.33 T (insert) 320.42 120.33 T (timer) 345.04 120.33 T (instrumentation) 368.55 120.33 T (into) 433.73 120.33 T (VM) 451.7 120.33 T (routines) 470.21 120.33 T (that) 504.83 120.33 T (han-) 522.23 120.33 T (dle) 72 104.33 T (object) 86.49 104.33 T (creates.) 113.2 104.33 T (The) 145.73 104.33 T (timer) 163.55 104.33 T (code) 186.93 104.33 T (will) 208.09 104.33 T (be) 225.92 104.33 T (e) 237.63 104.33 T (x) 241.92 104.33 T (ecuted) 246.77 104.33 T (only) 275.14 104.33 T (when) 295.19 104.33 T (the) 319.12 104.33 T 2 9 Q (foo_flag) 333.61 104.33 T 0 10 Q (is) 379.08 104.33 T (set) 388.02 104.33 T (\050only) 401.4 104.33 T (when) 424.79 104.33 T (the) 448.72 104.33 T (object) 463.21 104.33 T (is) 489.92 104.33 T (created) 498.86 104.33 T (by) 530 104.33 T (method) 72 88.33 T 2 9 Q (foo) 104.5 88.33 T 0 10 Q ( will we measure the VM o) 120.7 88.33 T (v) 229.42 88.33 T (erhead associated with the object create\051.) 234.27 88.33 T FMENDPAGE %%EndPage: "10" 10 %%Page: "11" 11 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 11) 508.06 749.33 T (F) 90 713.33 T (or) 95.41 713.33 T (the) 106.98 713.33 T (neural) 122.44 713.33 T (netw) 150.68 713.33 T (ork) 170.02 713.33 T (program,) 186.59 713.33 T (we) 226.21 713.33 T (pick) 241.11 713.33 T (ed) 258.23 713.33 T (good) 270.91 713.33 T (candidate) 294.16 713.33 T (methods) 335.72 713.33 T (to) 372.85 713.33 T (\322dynamically) 383.87 713.33 T (compile\323) 440.99 713.33 T (by) 480.9 713.33 T (using) 494.14 713.33 T (P) 519.05 713.33 T (ara-) 524.46 713.33 T (dyn-J) 72 697.33 T (to) 97.32 697.33 T (measure) 108.21 697.33 T (its) 144.63 697.33 T (all-interpreted) 157.19 697.33 T (e) 216.94 697.33 T (x) 221.23 697.33 T (ecution) 226.08 697.33 T (and) 258.62 697.33 T (choosing) 276.17 697.33 T (the) 315.38 697.33 T (se) 330.71 697.33 T (v) 338.79 697.33 T (en) 343.64 697.33 T (application) 356.18 697.33 T (methods) 403.72 697.33 T (that) 440.72 697.33 T (were) 458.82 697.33 T (accounting) 481.36 697.33 T (for) 528.34 697.33 T (most) 72 681.33 T (of) 94.26 681.33 T (the) 105.39 681.33 T (e) 120.42 681.33 T (x) 124.71 681.33 T (ecution) 129.56 681.33 T (time.) 161.8 681.33 T (W) 184.89 681.33 T (e) 193.53 681.33 T (wrote) 200.78 681.33 T (JNI) 226.35 681.33 T (nati) 243.6 681.33 T (v) 258.35 681.33 T (e) 263.2 681.33 T (v) 270.45 681.33 T (ersions) 275.3 681.33 T (and) 306.43 681.33 T (wrapper) 323.68 681.33 T (functions) 359.25 681.33 T (for) 399.27 681.33 T (each) 413.74 681.33 T (of) 434.86 681.33 T (these) 446 681.33 T (methods.) 469.36 681.33 T (W) 508.55 681.33 T (e) 517.19 681.33 T (\336rst) 524.44 681.33 T (demonstrate) 72 665.33 T (that) 124.86 665.33 T (P) 143.85 665.33 T (aradyn-J) 149.26 665.33 T (can) 187.67 665.33 T (associate) 205.54 665.33 T (performance) 245.62 665.33 T (data) 300.13 665.33 T (with) 320.78 665.33 T (AP) 342.54 665.33 T (methods) 359.31 665.33 T (in) 397.18 665.33 T (their) 408.94 665.33 T (byte-code) 431.26 665.33 T (and) 474.67 665.33 T (nati) 493.1 665.33 T (v) 507.85 665.33 T (e) 512.7 665.33 T (code) 521.12 665.33 T (forms,) 72 649.33 T (and) 100.38 649.33 T (with) 117.36 649.33 T (the) 137.69 649.33 T (run-time) 152.45 649.33 T (compilation) 189.44 649.33 T (of) 239.76 649.33 T (AP) 250.64 649.33 T (methods.) 265.96 649.33 T (Figure) 304.9 649.33 T (4) 333.51 649.33 T (sho) 341.05 649.33 T (ws) 354.69 649.33 T (a) 368.35 649.33 T (performance) 375.33 649.33 T (visualization) 428.41 649.33 T (from) 482.06 649.33 T (P) 504.05 649.33 T (aradyn-) 509.46 649.33 T (J.) 72 633.33 T (The) 80.87 633.33 T (visualization) 98.89 633.33 T (is) 152.48 633.33 T (a) 161.63 633.33 T (time) 168.55 633.33 T (plot) 188.8 633.33 T (sho) 206.84 633.33 T (wing) 220.48 633.33 T (the) 242.96 633.33 T (fraction) 257.66 633.33 T (of) 291.23 633.33 T (CPUtime) 302.04 633.33 T (per) 341.75 633.33 T (second) 357 633.33 T (for) 387.24 633.33 T (the) 401.38 633.33 T (byte-code) 416.08 633.33 T (\050in) 457.99 633.33 T (black\051) 471.57 633.33 T (and) 499.04 633.33 T (nati) 515.96 633.33 T (v) 530.71 633.33 T (e) 535.56 633.33 T (\050in) 72 617.33 T (white\051) 85.4 617.33 T (forms) 113.23 617.33 T (of) 138.85 617.33 T (the) 149.46 617.33 T 2 F (updateWeights) 163.97 617.33 T 0 F (AP) 244.25 617.33 T (method,) 259.32 617.33 T (sho) 294.11 617.33 T (wing) 307.75 617.33 T (that) 330.03 617.33 T 2 F (updateWeights) 347.32 617.33 T 0 F (bene\336ts) 427.6 617.33 T (from) 461 617.33 T (dynamic) 482.72 617.33 T (com-) 519.45 617.33 T (pilation.) 72 601.33 T (Figure) 108.03 601.33 T (5) 136.63 601.33 T (is) 144.6 601.33 T (a) 154.24 601.33 T (table) 161.64 601.33 T (visualization) 184.05 601.33 T (that) 238.12 601.33 T (sho) 256.09 601.33 T (ws) 269.73 601.33 T (performance) 283.8 601.33 T (measures) 337.3 601.33 T (of) 377.47 601.33 T (total) 388.77 601.33 T (CPUT) 409.51 601.33 T (ime) 434.72 601.33 T (\050middle) 452.69 601.33 T (column\051,) 486.76 601.33 T (and) 525.56 601.33 T (total) 72 585.33 T (number) 94.03 585.33 T (of) 128.84 585.33 T (calls) 141.42 585.33 T (\050right) 164 585.33 T (column\051) 190.48 585.33 T (associated) 228.06 585.33 T (with) 273.42 585.33 T (the) 295.45 585.33 T (byte-code) 311.92 585.33 T (\050top) 355.61 585.33 T (ro) 375.97 585.33 T (w\051) 384.05 585.33 T (and) 398.85 585.33 T (nati) 417.55 585.33 T (v) 432.3 585.33 T (e) 437.15 585.33 T (\050middle) 445.84 585.33 T (ro) 481.2 585.33 T (w\051) 489.28 585.33 T (forms) 504.09 585.33 T (of) 531.67 585.33 T 2 F (updateWeights) 72 569.33 T 0 F (,) 150 569.33 T (and) 156.26 569.33 T (compiling) 174.47 569.33 T (time) 218.79 569.33 T (\050left) 240.34 569.33 T (column\051) 260.76 569.33 T (associated) 297.86 569.33 T (with) 342.72 569.33 T (the) 364.27 569.33 T (method\325) 380.25 569.33 T (s) 413.03 569.33 T (wrapper) 420.69 569.33 T (function) 457.21 569.33 T (\0500.174) 494.3 569.33 T (sec-) 523.9 569.33 T (onds\051.) 72 553.33 T (This) 99.63 553.33 T (visualization) 120.32 553.33 T (sho) 174.34 553.33 T (ws) 187.98 553.33 T (data) 201.99 553.33 T (tak) 221.56 553.33 T (en) 233.68 553.33 T (part) 246.03 553.33 T (w) 264.49 553.33 T (ay) 271.61 553.33 T (through) 283.96 553.33 T (the) 317.98 553.33 T (application\325) 333.11 553.33 T (s) 380.33 553.33 T (e) 387.13 553.33 T (x) 391.42 553.33 T (ecution.) 396.27 553.33 T (At) 431.11 553.33 T (the) 444.02 553.33 T (point) 459.15 553.33 T (when) 482.62 553.33 T (this) 507.19 553.33 T (w) 524.55 553.33 T (as) 531.67 553.33 T (tak) 72 537.33 T (en,) 84.12 537.33 T (the) 99.26 537.33 T (procedure) 114.68 537.33 T (calls) 157.86 537.33 T (measure) 179.39 537.33 T (sho) 215.91 537.33 T (ws) 229.55 537.33 T (that) 243.86 537.33 T (the) 262.06 537.33 T (byte-code) 277.48 537.33 T (v) 320.11 537.33 T (ersion) 324.96 537.33 T (is) 352.61 537.33 T (called) 362.48 537.33 T (15) 389.56 537.33 T (times) 402.76 537.33 T (for) 427.63 537.33 T (a) 442.49 537.33 T (total) 450.13 537.33 T (of) 471.11 537.33 T (0.478) 482.64 537.33 T (seconds) 508.34 537.33 T (before) 72 521.33 T (it) 100.39 521.33 T (is) 108.81 521.33 T (\322dynamically) 118.33 521.33 T (compiled\323,) 175.06 521.33 T (and) 222.08 521.33 T (the) 239.37 521.33 T (nati) 254.44 521.33 T (v) 269.19 521.33 T (e) 274.04 521.33 T (code) 281.33 521.33 T (v) 303.07 521.33 T (ersion) 307.92 521.33 T (has) 335.21 521.33 T (e) 351.39 521.33 T (x) 355.68 521.33 T (ecuted) 360.54 521.33 T (54) 389.49 521.33 T (times) 402.34 521.33 T (for) 426.86 521.33 T (a) 441.38 521.33 T (total) 448.67 521.33 T (of) 469.3 521.33 T (0.584) 480.49 521.33 T (seconds.) 505.84 521.33 T (The) 72 505.33 T (implication) 89.96 505.33 T (of) 137.93 505.33 T (this) 148.67 505.33 T (data) 165.53 505.33 T (is) 184.6 505.33 T (that) 193.68 505.33 T (at) 211.09 505.33 T (this) 220.72 505.33 T (point) 237.59 505.33 T (in) 260.55 505.33 T (the) 270.75 505.33 T (e) 285.38 505.33 T (x) 289.67 505.33 T (ecution,) 294.52 505.33 T 2 F (updateWeights) 328.87 505.33 T 0 F (has) 409.28 505.33 T (already) 425.02 505.33 T (bene\336ted) 456.86 505.33 T (from) 495.93 505.33 T (being) 517.78 505.33 T (compiled) 72 489.33 T (at) 111.52 489.33 T (run-time;) 121.03 489.33 T (if) 160.55 489.33 T (the) 168.96 489.33 T (method) 183.47 489.33 T (w) 215.77 489.33 T (as) 222.89 489.33 T (not) 233.52 489.33 T (\322dynamically) 248.59 489.33 T (compiled\323,) 304.77 489.33 T (and) 351.23 489.33 T (instead) 367.96 489.33 T (w) 398.59 489.33 T (as) 405.71 489.33 T (interpreted) 416.34 489.33 T (for) 461.95 489.33 T (each) 475.91 489.33 T (all) 496.53 489.33 T (of) 508.82 489.33 T (these) 519.45 489.33 T (69) 72 473.33 T (calls,) 84.69 473.33 T (then) 108.2 473.33 T (the) 128.11 473.33 T (total) 143.01 473.33 T (e) 163.48 473.33 T (x) 167.77 473.33 T (ecution) 172.62 473.33 T (time) 204.75 473.33 T (w) 225.21 473.33 T (ould) 232.33 473.33 T (be) 252.8 473.33 T (2.2) 264.93 473.33 T (seconds) 280.11 473.33 T (\05069) 314.46 473.33 T (calls) 330.48 473.33 T 5 F (\264) 351.49 473.33 T 0 F (0.031) 359.67 473.33 T (seconds/call\051.) 384.85 473.33 T (The) 442.25 473.33 T (total) 460.49 473.33 T (e) 480.95 473.33 T (x) 485.24 473.33 T (ecution) 490.09 473.33 T (time) 522.22 473.33 T (for) 72 457.33 T (the) 86.77 457.33 T (method\325) 102.1 457.33 T (s) 134.88 457.33 T (\322dynamically) 141.88 457.33 T (compiled\323) 198.87 457.33 T (e) 243.64 457.33 T (x) 247.93 457.33 T (ecution) 252.78 457.33 T (is) 285.33 457.33 T (1.2) 295.11 457.33 T (seconds) 310.71 457.33 T (\0500.478) 345.48 457.33 T (seconds) 374.42 457.33 T (of) 409.19 457.33 T (interpreted) 420.63 457.33 T (e) 467.06 457.33 T (x) 471.35 457.33 T (ecution) 476.2 457.33 T (+) 508.75 457.33 T (0.174) 517.5 457.33 T (seconds of compilation + 0.584 seconds of nati) 72 441.33 T (v) 260.15 441.33 T (e e) 265 441.33 T (x) 276.23 441.33 T (ecution\051.) 281.08 441.33 T (W) 90 152.87 T (e) 98.64 152.87 T (ne) 106.25 152.87 T (xt) 115.54 152.87 T (demonstrate) 126.49 152.87 T (ho) 178.54 152.87 T (w) 188.29 152.87 T (performance) 198.68 152.87 T (data) 252.38 152.87 T (from) 272.21 152.87 T (P) 294.82 152.87 T (aradyn-J) 300.23 152.87 T (can) 337.83 152.87 T (e) 354.88 152.87 T (xplicitly) 359.17 152.87 T (represent) 395.68 152.87 T (VM) 435.5 152.87 T (costs) 454.78 152.87 T (associated) 477.95 152.87 T (with) 522.22 152.87 T (byte-code) 72 136.87 T (and) 113.86 136.87 T (nati) 130.74 136.87 T (v) 145.49 136.87 T (e) 150.34 136.87 T (code) 157.22 136.87 T (forms) 178.53 136.87 T (of) 204.3 136.87 T (a) 215.06 136.87 T (method.) 221.94 136.87 T (W) 256.87 136.87 T (e) 265.51 136.87 T (measured) 272.39 136.87 T (the) 313.14 136.87 T (number) 327.8 136.87 T (of) 360.78 136.87 T (object) 371.55 136.87 T (creates) 398.42 136.87 T (in) 428.62 136.87 T (each) 438.83 136.87 T (of) 459.59 136.87 T (our) 470.35 136.87 T (\322dynamically) 486.12 136.87 T (compiled\323) 72 120.87 T (methods.) 116.55 120.87 T (In) 155.83 120.87 T (Figure) 167.05 120.87 T (6,) 195.66 120.87 T (the) 206.05 120.87 T (visualization) 221.16 120.87 T (sho) 275.16 120.87 T (ws) 288.8 120.87 T (a) 302.8 120.87 T (method) 310.13 120.87 T (\050) 343.02 120.87 T 2 F (calculateHiddenLayer) 346.35 120.87 T 0 F (\051) 466.35 120.87 T (that) 472.57 120.87 T (accounts) 490.46 120.87 T (for) 528.34 120.87 T (most) 72 104.87 T (of) 94.75 104.87 T (the) 106.37 104.87 T (object) 121.89 104.87 T (creates.) 149.62 104.87 T (This) 183.18 104.87 T (visualization) 204.26 104.87 T (sho) 258.66 104.87 T (ws) 272.3 104.87 T (data) 286.71 104.87 T (tak) 306.66 104.87 T (en) 318.78 104.87 T (part) 331.52 104.87 T (w) 350.36 104.87 T (ay) 357.48 104.87 T (through) 370.22 104.87 T (the) 404.63 104.87 T (application\325) 420.14 104.87 T (s) 467.36 104.87 T (e) 474.55 104.87 T (x) 478.84 104.87 T (ecution.) 483.69 104.87 T (In) 518.92 104.87 T (its) 530.55 104.87 T (byte-code) 72 88.87 T (form) 113.84 88.87 T (\050top) 135.69 88.87 T (ro) 154.22 88.87 T (w\051,) 162.3 88.87 T (it) 177.76 88.87 T (is) 185.73 88.87 T (called) 194.81 88.87 T (15) 221.1 88.87 T (times,) 233.52 88.87 T (creates) 260.1 88.87 T (158) 290.27 88.87 T (objects,) 307.68 88.87 T (and) 340.92 88.87 T (accumulates) 357.78 88.87 T (3.96) 409.62 88.87 T (seconds) 429.53 88.87 T (of) 463.6 88.87 T (CPU) 474.35 88.87 T (time.) 496.21 88.87 T (After) 518.9 88.87 T 1 9 Q (Figur) 68.4 202.54 T (e) 89.74 202.54 T (4:) 95.99 202.54 T (P) 108.11 202.54 T (erf) 113.43 202.54 T (ormance) 124.19 202.54 T (data) 162.31 202.54 T (f) 183.95 202.54 T (or) 186.72 202.54 T (the) 199.84 202.54 T 2 F (updateWeights) 216.47 202.54 T 1 F (method) 291.3 202.54 T (fr) 324.93 202.54 T (om) 331.76 202.54 T (the) 348.39 202.54 T (dynamically) 365.01 202.54 T (compiled) 416.65 202.54 T (neural) 456.28 202.54 T (netw) 485.91 202.54 T (ork) 504.32 202.54 T (J) 522.45 202.54 T (a) 526.81 202.54 T (v) 531.09 202.54 T (a) 535.5 202.54 T (application.) 68.4 191.54 T 3 F (The) 115.92 191.54 T (time) 132.68 191.54 T (plot) 150.95 191.54 T (visualization) 167.21 191.54 T (sho) 216.49 191.54 T (ws) 229.27 191.54 T (the) 241.04 191.54 T (fraction) 254.8 191.54 T (of) 286.57 191.54 T (CPUtime/second) 296.33 191.54 T (f) 360.59 191.54 T (or) 363.5 191.54 T (the) 373.76 191.54 T (nativ) 387.52 191.54 T (e) 405.89 191.54 T (\050white\051) 412.15 191.54 T (and) 440.41 191.54 T (byte-code) 456.68 191.54 T (\050blac) 493.92 191.54 T (k\051) 512.33 191.54 T (f) 522.09 191.54 T (orm) 525 191.54 T (of the method.) 68.4 180.54 T 78 214.54 534 419 C 0 X %%BeginBinary: 17470 635 293 396.85 212.6 0 120.51 220.58 /red < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000488BAE00FF > store /green < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000003D3AAE00FF > store /blue < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000008B62AE00FF > store BEGINBITMAPCOLORc z [EFD ;%8'8#9# FEFEFEFEFEFEFEFEFEFEFEFEFEFE:'9& FEFEFDFDFEFEFDFDFDFEFE9$8#H% FEFEFDFDFDFEFEFEFEJ' ;FEFEFDFDFEFEC&A% FEFEFEFEFDFEFDFDFDC%@& FDFDFDFDFDFDFEFEFEJ"8" =FDFE9$8#?- FDFEFEFEFEFDFEFEFDFEFEFDFDFEFEFDFD:'B":' FDFEFEFEFEFDFEFDFEFEFEFEFD;%8#=&9% FDFDFDFDFDFDFDFDFDFDFDFDFDFDFD @%=%9% FEFEFEFEFEFEFEFEFEFEFEFE?';. FEFEFDFDFEFEFEFEFDFDFEFEFDFEFEFDFDFEFEJ# ?FDFD J$ =FEFEFEJ%;z =FDFDFEFEZ@FEJ&z FFDFDFDFDFEZ:FDG# FEFE?';. FDFEFEFEFEFDFDFEFEFEFEFDFDFDFEFEFEFEFD@%9#8%9% FDFDFDFDFDFDFDFDFDFDFDFDFDFD J" PFFEJ" PLFE J" P@FE J" Q#FEJ" Q,FE @%=%9& FEFEFEFEFEFEFEFEFEFEFEFEFE?';':$ FEFEFDFDFEFEFEFEFDFDFEFEFDFDFDJ$ ;FEFEFDJ$ =FEFEFEJ'J" ;FDFDFDFDFEFEPHFEJ% FFEFEFEFEJ#?%J$J" ;FEFEFDFDFDFDOIFEFDFEO!FEG#J" FEFEP8FE?';.J" FDFEFEFEFEFDFDFEFEFEFEFDFDFDFEFEFEFEFDQ"FE@%9#8%9% FDFDFDFDFDFDFDFDFDFDFDFDFDFD J$ P?FEFDFE J" Q"FEJ# Q#FDFE J"G#C"=" P:FEFDFEFEFE J" QJFEJ# Q+FEFDJ" QBFE J"J"=" P9FEHFEFEJ# Q:FEFDJ# QHFEFD J";#J# P4FEFDFEO'FDFE @%=%<# FEFEFEFEFEFEFEFEFEFE?';':" FEFEFDFDFEFEFEFEFDFDFEFEFEJ# =FEFD J#J$ %8" FEFEFDFDFDFDFD?';' FDFEFEFEFEFDFDFEFEFEFEFD@%9#8%<#J# FDFDFDFDFDFDFDFDFDFDFDFDP#FEFDJ# P8FEFDJ% PGFDFEFDFEJ#>"J" PAFDFEFD5FEJ#J"J" P>FEFDBFD6FEJ#J" P2FEFDO6FDJ"J# Q!FE?FEFDJ"J" P6FE9FDJ" P5FDJ# Q$FDFE J# Q-FDFE J# P;FDFE J# P7FEFD J"J" O FEO5FDJ"J" MFEP2FE@%=%9%B#J" FEFEFEFEFEFEFEFEFEFEFEFEFEFDP3FD?';.@# FEFEFDFDFEFEFEFEFDFDFEFEFDFEFEFDFDFEFEFEFDJ# ;FDFDJ% =FEFEFEFDJ%J"J# =FDFDFEFEODFD@FEFDJ%J# FFEFEFEFEP@FDFEJ%J# FFDFDFDFDP=FEFDG#>#J#J# FEFEFEFEOBFEFDO4FEFD?';.J#J#;# FDFEFEFEFEFDFDFEFEFEFEFDFDFDFEFEFEFEFDP,FDFECFDFEFDFE@%9#8%9%J# FDFDFDFDFDFDFDFDFDFDFDFDFDFDQ FEFDJ# O FDFE J#J# PCFEFD?FDFEJ" PBFDJ" Q1FEJ#J" P=FEFDAFDJ$ PHFDFEFD J"J" KFDP#FDJ" PFEJ" Q?FDJ"J" P FEO=FDJ"J$B" O@FEO;FDFEFEFDJ" Q1FDJ" P!FEJ" O?FEJ#J" O@FDFEO!FD@%=%9% FEFEFEFEFEFEFEFEFEFEFEFE?';.E"J" FEFEFDFDFEFEFEFEFDFDFEFEFDFEFEFDFDFEFEFEO:FDJ#H"E"J#J" ;FDFDFDFE=FDFEOJFEJ$J"J"J" >FEFEFD?FEO6FDO"FDJ$J#B#C#J" =FEFEFD>FEFDFEFDFEFDMFDJ$=%J"D" %I"8"D" ;FEFEFDFDFDFDFDFEFDFDG#J"9"J#8" FEFEKFDFE;FDFEFE?';'9%J"J#J" FDFEFEFEFEFDFDFEFEFEFEFDFEFEFEFE@FD>FEFEO*FD@%9#8%8'J#J# FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD;FEFDBFDFDJ#H" O=FEFDFDJ# P&FDFEJ#B#J" O4FDFEFDFE:FEJ"J" OFFE8FDJ#J#=" ODFEFEO.FDFEFDJ# ODFDFDJ" OCFDJ# Q8FEFDJ">"J$J"G" O-FEFEP.FDFEFDRJFFFFJ"<"J#J#B"J"J" O.FDFD?FDFEO FEFDFDS$FFAFFJ"J"J" SDFFQ(FF9FFJ"="J"F"F"G"F">" S*FFFFKFFFFFFFFFFFFJ#D"J"J"F">"F"G"J"J"G"G"F" O" OMFDPFFFQDFFAFFFFFFFFJ#J#J"J"J"J"J"J"J">" O"FDFEBFDFEP2FFQ FFJFFCFFLFF9FFO+FFFFJ#J#J"="J$J"J#F#J" O6FDFEO=FDFEO$FFFFO-FFFDFFO+FFO?FFFDFFFDP3FFJ"J">$;$<"F"G$D$<"J$D$<$F"<#J#?#J" R$FFIFFFFFDFFFFFDFFFFFFFFFDFFFFFDFFFF9FFFDFFFFFDFFFFFFFFFFFFFD@FFFDFDFFP:FFJ#J">"="J"J#E#<$D$F#<#J$F"J#J"F">$J"J" P(FDFEOIFFFFFF9FF8FDFFFDFFFFFDFFFFFDFFFDFFFDFF7FFFDFFFDIFFFDDFFFFFFFFFFO!FFJFFJ"B"J"="J"J"<#J#A#;$=#="<$="J"<$<$ R FEFD9FFFDP*FFLFFFFFDO$FFFDFDFFFFFFFFFDFFFDFFFDFFFFHFFFFFDFFFFFDFFJ"<">"<#J#J#J" QMFDFFFFFDFFPCFDFFHFFFDOBFDJ">"J#J"F#=">#J"?"J"<" R%FDFD6FFFDQMFFFDFFFFFDFFO#E"J$="J#<"J#>#=" FEFEFEFEFEFEFEFEFEFEQ6FFFFFDFFFDFFR$FDFFFDFDFFFDO/FFFFFFFF5FFFDFF9FFFDFDFFFF?';*J"D"J"="E"E"J" FEFEFDFDFEFEFEFEFDFDFEFEFDFEFEQ7FDFDT,FDFFFFFDJFFJ#J#J"J"J#J"="J"G" ;FDFDQ4FFFDHFFP"FFO1FDFFP:FFFFO=FFFFJ"J"E">">"="J">"=#=#J#?#J"J%:#<$=#="J%:#="=#>" O,FEQAFDFFFFFFFFKFFFDFFFDFFFD8FFFDFDFFO6FFO%FFFFFDFFFFFFFDFDFFFDFFFFGFFFFFDFFFFFFFFFFFFFFJ"?#J#8":">">%:"=">#8"<#:#8";"J#8":#J"E">"8#9#8":#>"<$J"?":#E#>">"<#=$C$ O-FDFDFEQ=FFFDFFFDFDFDFDFDFFFDFFFFFDFFFDFFFFFDFFFD@FFFDFFFFFDOKFDFFFFFDFFFFFDFFFFFDFDFDFDFF7FDFFFFFDFFFDFDFFFDFFFDFFFFFFFFFFJ%J"J#J"=#=#E#;%=":#@"J#<">#>"J"9"8#;%;"?"C"H#J%>#="B"?";&=";%<# FFEFEFEFEP,FDO&FDFFHFDFDFFFDFFFDFFFDFDFDFFFDFFFDFDBFDFFFDFDFFFFOBFFFFFDFFFDFDFDFFFDFDFFFDFF4FFFDFDFDFDFFFFFFFDFFFDFDFDFFFDFFFDFDFFFDFDJ%J#J#D">"J#<#J"J">";"J":";#J">#:"<#E# FFDFDFDFDO-FDFEP-FDFFFFFFOGFDFFFDFFJFDO9FFFDFDEFFFDFFFDO&FDFDFFFDFFFDFFFDG#J#J">"J"J#=#="=":"=#=#8"9#>"J"E#A#8#J#F#A# FEFE>FDFEQBFDFDP,FFFFFFDFFFDFFFFFFFDFFFDFFFFFDFFFDO&FDFDFFFFFDFDFFO*FDFFFDFFFFFD?';'J"C"J"J"8#9"8":#=#="J#<#:"?":#J#:"D#E# FDFEFEFEFEFDFDFEFEFEFEFDPLFDFDQ5FDO,FDFDFFFDFDFFFDFFFDFDO/FFFDFFFDFFFFFDFFO&FFFDFFFDFFFDFF@%9#8%:#J#J#J#J#=#J"A"J"J#A" FDFDFDFDFDFDFDFDFDFDFDFDJFEFDP8FDFFQ!FFFDO FDFFFDFFP5FDFD4FF"F#J#J#J#<#<#B#E#H#J#B#@";# O%FEP#FDO:FFAFFFFKFFFDFFFD8FFFDOAFFFD@FFFDFFFDFFFDFDFFFDFFFFFD6FFFDFDFFFFFDFFJ"J">"G"J#>"F"J#B"J#J">":#<#>"J#?"B#E&:#J"8"E" O$FDQ%FFFFFD7FFFDFDFD=FDFFFD@FFFDP6FFFFFDFFFDFFFF7FDFFFFFDFFFDFFFDFFFDFDFF8FFFDFFJ">"J#J#E#=#E#J#8#J"I#G":#9"9#9"C#;"?#J"9&B#>"J"F#8" R+FDFD@FFFD8FFFDFFFDFFFDFFFDO FDFFFFFDO+FFFFFDFFFDFFFDFDFFFDFFFDFDFFFD9FDFDFFFDFFFDFDFFFF?FDFDFFFDJ#J#E#=#<#=#=&B#H#J#J#="?"J#8"J"F"<">">#;#=">"F"="<$ OGFDFEQ1FDFFFDFFFDFFFDFFFDFFFDFFFDFFFDFDFFFFFDO"FDFF8FDFFFDFF:FDFFFD7FFFDFDFFFFFDFDFFFFFFFDFDFDFFFDJ#J#J#J#E#>"F#>"J"=#J"<"J$J">$<$;"J$E$ R0FDFF9FFFD5FDFFP"FDFFFDFFFFFDFFFF8FDFDFFO!FDFD7FDFFFD6FDFFFDFDFFFFFDFD7FDFFFDFDFFFDJ#:#J#J#C#>"H#E#J"?#:%:#@"J#:"8#J"J#>"<#<">"J"F"<#>#;">" O%FDFEFEFDPCFFFD5FDFFFDFFFFFFFDFFFD@FFFFFDFDFFFFFDFDFFFF9FFFDFDFFFD6FDO1FFFFFFFDFDFDFD8FDFDFDFDFDFDFDFDJ#J#;"@#<"?"F">"D$=#E#;#8"<#<#="G$J"<%<$J"J">"D"J"E$ O8FDFEQ0FFFDFDFFFDFFFFFFFFFDFDFFFFFDFFFDFDFFFDFFFDFFFFFFFFFFFDO7FFFDFDFDFDFFFDFD?FD8FDFDFD9FDFDFFFDJ#9#J#<">"=$<"=$<$<">#<"J"E%="E"J"8#="D#J">"J"G"<$ P*FDFEFEFDPCFFFDFDFDFFFDFDFDFFFDFDFFFDFDFFFDFDFD9FFFDFDFDFDFDFDO/FFFFFDFDFDFDIFDFDO3FDFDFDFFFDJ">"=">"=#="=#=#=$D"?"G"="F"J"E#>"J"@#J" RJFDFFFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD:FFFDFFFF8FDFDFDO>FDJ#J"D"J"F"F"?"F%E#;"?#J" OJFEFDQ(FDFDO@FDFDFDFFFDFFFFFDFFFDFDFFFDQ?FDJ"J"?"J"G"J$="G#J" O'FEQAFDFDOGFDFDAFDFDFDFDFFFDR"J# O&FDBFEFDQ'FDP"FDFDOBFFFDJ"J"J">" R!FER.FDIFDFFJ#J"J"=#>"F#J"=">"J" O*FEFD=FDP$FDFDFFFFFFFDQAFDFDFD8FDJ"J"<$J" OHFDP/FDFDFFFDS,FFJ#J"J" R:FDFFR6FDtJ" FEFEFEFEFEFEFEFEFEFEFEFEQ@FDFDRHFD?';.J#J"J" FEFEFDFDFEFEFEFEFDFDFEFEFDFEFEFDFDFEFE6FEFDPLFDS+FDJ" W@FDJ" O(FD J&Zz"s"z FFEFEFEFEFEQ%S4FEFFFEFFQEFEJ%zJ">" FFDFDFDFDQ&FES4FEFEG#Jz"z"z"z"z FEFE7P>FDFEQ%FDFEQ&FDFEQ%FDFE8FD?';. FDFEFEFEFEFDFDFEFEFEFEFDFDFDFEFEFEFEFD@%9#8%9% FDFDFDFDFDFDFDFDFDFDFDFDFDFD J"J"J"J" Q:FDQ%FDQ&FDQ%FD J%@#8%J%=%9%J%=%9%J%@#8% Q.FEFEFEFEFEFEFEFEFEFEP>FEFEFEFEFEFEFEFEFEFEFEFEP?FEFEFEFEFEFEFEFEFEFEFEFEP>FEFEFEFEFEFEFEFEFEFEJ'>"9'J';.J';.J'>"9' Q-FEFEFDFDFEFEFEFEFEFDFDFEFEP$J% Q0FEFEFDQ"FEFEFEFDQ#FEFEFEFDFEFEFDPEFEFEFEFDJ$9#8#J%8#J%8#9$J%8#8# Q/FEFEFDFDFDFEFDPHFDFDFEFEFDFDPMFDFDFEFEFDFDFEFEFDPFFDFDFEFEFDFDFEFDJ$=#J$J# Q.FEFEFDFEFDT,FEFEFDQ"FEFDJ$?$8"J$J$8" Q-FEFEFDFEFEFEFET&FEFEFDQ$FEFEFEFEJ(8"J#<#J#<#J#<(8" Q5FEFEFDFDFDFDFDFDPBFEFEFEFEPKFEFEFEFEPJFEFEFEFEFDFDFDFDFDFDJ%B'J';.J'=,J'B' Q/FEFEFEFEFDFEFEFEFEFDPFDFDFDFDFDFDFDFDFDFDFDFDFDFDP?FDFDFDFDFDFDFDFDFDP>FDFDFDFDFDFDFDFDFDFDFDFD J#;& TDFEFEFEFEFDFEFEJ# U FDFDJ"9"9)9#8%9%9% TFFEFEFEFEFDFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ%;5 U%FEFDFEFE4FEFEFDFDFEFEFDFEFEFDFDFEFEFDFEFEFDFDFEFEJ$?";#9%B# TGFEFDFEFDFDFDFEFDFDFDFDFDJ"9"G&:# TFFDFDFDFDFEFEFEFEFEJ"J"8"9% THFE5FDFEFDFDFDFDJ$E(=#;# TGFDFEFDFEFEFDFEFEFDFDFEFEFEFEJ5 U.4FDFEFEFEFEFDFDFDFEFEFEFEFDFDFDFEFEFEFEFDJ#8"8s8#8#8%9%9% TDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD J#9#:':%B#@#9#?#8#9&>#>#8#9#J#8#9#?#J#<#J#J#H#?#?#8#8#=#>#<#F#?#J#8#E#<#;#@#9#E#<#?#;#C#9#:# OJFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFE9FEFEFEFEO'FEFE8FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE8FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ"8";&8'J"8"B#8'>#D"J"J#J#J$J$ P FEFEFDFDFDFEFEFEFEFDFDFEFE;FEFEFDFDFEFEFDFDFDFDFDFDFEEFER$FDFDBFDFDBFEFEFDP1FDFEFEJ%8&8#8#E"9#B$8(9#;%;"9#9'8'8%8%8#8%E%8#8.E%8"8%8#8#8%8&:#?%9%8+9%8&;%<%9%9%;$8)9#;%8"8"8%C%8#8&:#8"8"8%?)8"8"8%8+E*B"9"9#9#A%9%;#8"8"8%;#<%9#=$8$ O)FEFEFEFEFEFEFDFEFEFEFEFEFEFDFDFDFEFEFDFDFDFDFEFEFEFEFEFEFEFEFEFEFDFDFDFEFEFDFEFEFEFEFDFEFEFDFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFDFEFEFDFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFDFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFDFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFDFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFDFEFEFEFDFEFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFDJ'9%F#8"9":"G,9'8"9":"9"8"8":"8":':'=#:'@"8'=#:)8"B'9";$>.9":,9"<':58"A*9)8+>(:%;'8)C'8)9":%8$@*J.9'8)9%:'=$@# O(FEFEFDFDFEFEFEFDFEFEFEFEFEFEFEFEFEFDFDFEFEFDFEFEFDFEFEFEFDFDFEFEFEFEFEFEFDFDFDFDFEFEFDFDFEFEFEFEFDFDFEFEFDFEFEFEFDFDFEFEFEFEFEFDFDFEFEFDFEFEFEFDFDFEFEFDFDFDFEFEFDFDFEFEFEFEFEFDFEFEFDFDFEFEFDFEFEFDFDFEFEFEFEFDFEFEFDFEFEFDFDFEFEFEFEFEFDFDFEFE4FEFEFDFDFEFEFDFEFEFDFDFEFEFDFEFEFDFDFEFEFEFEFDFEFEFDFEFEFDFEFEFEFDFDFEFEFDFDFDFDFEFEFDFDFEFEFDFDFDFEFEFDFDFEFEFEFEFDFEFEFDFEFEFDFDFDFDFEFEFDFDFEFEFEFDFEFEFDFDFDFDFEFEFDFDFEFEFEFEFDFEFEFEFEFDFEFDFDFEFEFDFDFEFEDFEFEFDFDFEFEFDFEFEFDFDFEFEFEFDFEFEFDFDFDFDFEFEFDFDFEFEFEFDFEFEFEFEFDFDFEFEFDFEFEFEFEJ#9"G%F&H"J#J#:#J%J$:$A#8$F#>#8"D#>#:#=%9%D"="9#I":"E";"A%C"I#8"J$:(:$9#=%9"?#="E#F% O,FDFDFDFEFEFEFDFEFEFEFEFDFD9FDFD4FDFDFDFDBFDFDFDFD=FDFEFEFEFEFDFDFDFEFEFDFDFDFDFDFDFDFDFDFDFDFDFEFDFDFDFEFDFDFDFDFDFDFDFEFEFDFDFEFDFDFDFDFDFDFDGFEFDFEFDFEFEFDFEFEFDFEFEFEFDFDFEFDFDFDFDFDFDFDFDFDFDFEFEFEJ%:":#<%J#;":#;"J$@#;#B"9$@#;#J"H#:$;"A#;"G$9&8&:"J$@#E#J&J#;"J"9"D$:$9&E$E#D":"9% OBFEFEFDFDFDFEFEFDFDFDFD9FEFEFDFEFEFD=FEFEFEFDFEFEFEFDFEFEFEFDFEFEFEFDFEFEFEFEFEFDFDFDFDFEFE@FDFDFDFDFEFEFDFDFDFDFEFE?FEFEFDFDFDFDFDFDFEFEFDFDFDFDFDFD?FDFEFEFDFDFDFDFDFEFEFDFDFDFDFDFD4FEFEFDFDFDFEFDFE:FEFEFDFDFDFDFDFDFDFEFEFDFDFEFEFDFDFDFDFD9FDFE9FDFDFDFDO#FEFDFEFEFEFDFEFEFDFDFDFEFEFEFDFDFDFDFDFDFEFEFEFEFEFDz>#9"="?'J$8#@"=%J"E#I"=#:"J"=#;+G$B#J#=#;#A%9%9"<";"="D":#E#="D&J":#>"J#;$J%D"?"A#8#?"8"9% O$FDFEFEFEFEFDFDFEFEFDFE4FDFEFEFEFEFEFEFEFDFE4FEFEFEFDFEFEFE7FDFEFEFEFDFDFEFEFDFDFEFEFDFDFEFEFEFE8FEFEFEFEFEFEFEFEFDFDFEFEFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFDFD8FEFEFEFE@FEFEFDFEFD(B'8%A'@$93B'@':5;%;*93A':%A+I+>%@%J"D.?,8%:'J# O(FDFEFEFEFEFDFDFEFEFDFDFDFEFEFDFDFD7FDFEFEFEFEFDFDFEFEFEFEFDFDFDFEFEFDFDFEFEFEFEFDFDFEFEFDFDFEFEFEFEFDFDFEFEFEFDFEFEFDFEFEFEFEFDFDFDFEFEFDFDFEFEFEFDFEFEFDFEFEFEFEFDFDFEFEFDFDFEFEFEFEFDFDFEFEFEFEFEFEFDFEFEFEFEFDFDFDFEFEFEFDFEFEFDFEFEFEFEFDFDFEFEFEFEFD4FDFEFEFEFDFEFEFDFEFEFEFEFDFDFDFEFEFEFEFDFDFEFEFDFDFEFEFDFDFDFEFEFDFDFEFEFEFDFEFEFDFDFEFEFDFDFEFEFEFEFDFDFEFEFEFEFDFDFEFEFDFDFEFEFDFDFEFEFEFEFDFDFEFEFDFDFEFEFEFEFDFDFEFEFDFEFEFEFE?FDFDFEFEFEFDFEFEFDFEFEFEFEFDFDFEFEFDFDFEFEFEFDFEFEFDFEFEFDFDFEFEFEFEFD4FDFDJ%;#9&B#8#:&>%8%9&8%8#8#:%;&8#8#8%8#8s8#9#8%9s:s8#9#8%:#9#8#:%8#9#9y9s9#8#8%8#:#8%8#8v9%8#9&:#9&8'8#8%:#8#9%8#8#:#8#9#8%?&8#9#8%8#<#9$9s8#8&8#8#8"8#;":#9#8v8#8#9#8v8#8%9":$:# O)FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFDFDFDJ#J"J# W'FEFEP1FEO3FEFDJ'JrJ$J$J"9$ W'FDFEFEFEFEFD4FEDFDFEFEFFEFEFDO2FDFEFEFDJ#J#J%JrJ#>#J#J# O/FDFDT=FDFDO&FDFDFDFD5FD;FDFDFDFDFFDFDO7FDFD J#9#:':%B#@+J#J#:#J#?#8#9&>#>#8#9#J#8#9#?#J#<#J#?#?#8#8#=#>#<#H#H#8# OJFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFDFEFE:FEFECFEFEFEFEAFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE;FEFEFEFEFEFEFEFE9FEFEFEFEO5FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEJ"8";&8'J#J"8"B#8'>#D"J"J#J#J# P FEFEFDFDFDFEFEFEFEFDFDFEFE%8#9#8%B#9'8'8%8%8#8%E%8#8.E%8"8%8#8#8%8&:#?%9%8+9%8&=#8)9#;%8"8"8%C%8#8&:#8"8"8%?#;&9%8"8(9#8% O)FEFEFEFEFEFEFDFEFEFEFEFEFEFDFDFDFEFEFDFDFDFDFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFDFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFDFDFEFEFDFEFEFEFEFDFEFEFDFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFDFEFEFDFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFDFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFDFEFEFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFEFEFEFEFEFEFEFEFEFEFDFDFEFEFDFEFEFEFEFEFEFEFEFDFEFEFDFEFEFEFEFEFEFEFEJ'9%F#8"9":"G,9'8"@,9%9%A%=.8"?'?'?":"9"8"8":"8":':'=#:'@"8'=#:)8"B'9";$>.9":,9"H*9)8+>(:%;'8)G.8"B'8# O(FEFEFDFDFEFEFEFDFEFEFEFEFEFEFEFEFEFDFDFEFEFDFEFEFDFEFEFEFDFDFEFEFEFEFDFEFEFDFEFEFDFDFEFEFEFDFEFEFEFDFEFEFEFEFDFEFEFEFDFDFEFEFDFEFEFDFDFEFEFEFEFEFDFDFEFEFEFEFDFDFEFEFEFEFEFDFDFDFDFEFEFDFDFEFEFEFEFDFDFEFEFDFEFEFEFDFDFEFEFEFEFEFDFDFEFEFDFEFEFEFDFDFEFEFDFDFDFEFEFDFDFEFEFEFEFEFDFEFEFDFDFEFEFDFEFEFDFDFEFEFEFEFDFEFEFDFEFEFDFDFEFEFEFEFDFEFEFDFEFEFDFEFEFEFDFDFEFEFDFDFDFDFEFEFDFDFEFEFDFDFDFEFEFDFDFEFEFEFEFDFEFEFDFEFEFDFDFDFDFEFEFDFDFEFEFEFDFEFEFDFEFEFDFDFEFEFDFDFDFEFEFDFDFEFEFEFEJ#9"G%F&H"J":#="<"G"?%I#;+J#J#:#J%J$:$A#8$F#>#8"D#F"="9#I":"E";"A%G":#C(?% O,FDFDFDFEFEFEFDFEFEFEFEFDFD6FDFDFDFDFDFDFEFDFDFDFDFDFDFEFEFDFEFEFDFDFDFD7FDFD4FDFDFDFDBFDFDFDFD=FDFEFEFEFEFDFDFDFEFEFDFDFDFDFDFDFDFDFDFDFDFDFEFEFDFDFEFDFDFDFDFDFDFDFEFEFDFEFEFDFDFEFEFEJ%:":#<%J#;"E$J&A"?$B$C#;"J$@#;#B"9$@#;#J"H#:$;"A#;"J$@#E#J&J$J#;% OBFEFEFDFDFDFEFEFDFDFDFD9FEFEFDFEFEFEFFDFDFEFEFEFDFEFEFEFEFEFEFEFEFD=FEFEFEFDFEFEFEFDFEFEFEFDFEFEFEFDFEFEFEFEFEFDFDFDFDFEFE@FDFDFDFDFEFEFDFDHFDFEFEFEFEFEFDFDFDFEFEFEFDFEFEFDFDFEFEFDFDFDFDFEFE?FEFEFDFDFDFDFDFDFEFEFDFDFDFDFDFD?FDFEFEFDFDFDFDFDFEFEFDFDFDFDFDFDBFEFEFDFDFDFDFDFDFDFEFEFDFDFEFEFDFDFDFDFD9FDFE6FEFEFDFDFDFEFEFEFDFDFDFDFDFEFEFEFDz>#9"="?'J$8#@"=%A"J":(@"J"E#I"=#:"J"=#;+G$B#J#F";"="D":#E#="D&J"E#8% O$FDFEFEFEFEFDFDFEFEFDFE4FDFEFEFEFEFEFEFEFDFEFEFFEFEFEFDFEFEFDFDFEO*FEFEFEFDFEFEFE7FDFEFEFEFDFDFEFEFDFDFEFEFDFDFEFEFEFE8FEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDCFEFEFEFEFEFDFDJ'9*A#J29'C-J%=.;/8$9(J%A':(B,>(B'8%A'@$93B'C%;*93A':%A+J-;$9'8# O(FDFEFEFEFEFDFDFEFEFDFDFDFEFEFDFDFD7FDFEFEFEFEFDFDFEFEFEFEFDFDFDFEFEFDFDFEFEFEFEFDFDFEFEFDFDFDFEFEFEFDFEFE8FDFEFEFDFDFEFEFEFEFDFDFDFEFEFEFEFDFDFEFEFEFEFDFDFDFEFEFEFDFEFEFDFEFDFDFEFEFEFDFEFE5FDFEFEFDFDFEFEFEFEFDFDFEFEFEFDFEFEFDFEFEFEFEFDFDFDFEFEFDFDFEFEFEFDFEFEFDFEFEFEFEFDFDFEFEFDFDFEFEFEFEFDFDFEFEFEFEFEFEFDFEFEFEFEFDFDFDFEFEFEFDFEFEFDFEFEFEFEFDFDFEFEFDFDFEFEFDFDFDFEFEFDFDFEFEFEFDFEFEFDFDFEFEFDFDFEFEFEFEFDFDFEFEFEFEFDFDFEFEFDFDFEFEFDFDFEFEFEFEFD6FDFEFEFEFDFEFEFDFDFEFEFDFDFEFDFDFEFEFEFEFDFDFDJ%;#9&B#8#:&>%8%9&8%8#8v9s8&8&?#;#8%9%8#9%9'9";'=#:%;&8#8#8%8#8s8#9#8%9s:s8#9#8%:#9#8#:%8#9#9y9s9#8#8%8#A&:#9&8'8#8%:#8#9%8#8#:#8#9#8%A#9#8#8'8&:";% O)FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDJ#J# QMFEFETEFEFEJr'JrJrJ'Jr QFFEFDFEFEFEFEFDO&FEQMFEO.FDFEFEFEFEFD4FEJ#JwJrJr=#J%Jr O/FDFDP5FDO'FDQMFDFDFDO&FDFDFDFD5FD ENDBITMAP %%EndBinary -45 -45 657 837 C 0 0 0 1 0 0 0 1 K FMENDPAGE %%EndPage: "11" 11 %%Page: "12" 12 612 792 0 FMBEGINPAGE 0 FrameSetSepColors FrameNoSep -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 10 Q 0 X (Page 12) 508.06 749.33 T (it) 72 483.26 T (is) 80.29 483.26 T (called) 89.69 483.26 T (15) 116.3 483.26 T (times,) 129.03 483.26 T (it) 155.93 483.26 T (is) 164.23 483.26 T (compiled) 173.63 483.26 T (at) 213.58 483.26 T (run-time,) 223.53 483.26 T (and) 263.2 483.26 T (its) 280.37 483.26 T (nati) 292.55 483.26 T (v) 307.3 483.26 T (e) 312.15 483.26 T (code) 319.32 483.26 T (form) 340.93 483.26 T (\050bottom) 363.1 483.26 T (ro) 397.5 483.26 T (w\051) 405.58 483.26 T (is) 418.86 483.26 T (called) 428.27 483.26 T (50) 454.88 483.26 T (times,) 467.61 483.26 T (creates) 494.51 483.26 T (600) 525 483.26 T (objects,) 72 464.59 T (and) 105.28 464.59 T (accumulates) 122.16 464.59 T (20.8) 174.04 464.59 T (seconds) 193.98 464.59 T (of) 228.09 464.59 T (CPU) 238.86 464.59 T (time) 260.76 464.59 T 0 8 Q (4) 278.54 468.59 T 0 10 Q (.) 282.54 464.59 T (Its) 287.48 464.59 T (nati) 299.93 464.59 T (v) 314.68 464.59 T (e) 319.53 464.59 T (form) 326.41 464.59 T (e) 348.3 464.59 T (x) 352.59 464.59 T (ecution) 357.44 464.59 T (is) 389.32 464.59 T (more) 398.44 464.59 T (e) 421.43 464.59 T (xpensi) 425.72 464.59 T (v) 451.58 464.59 T (e) 456.43 464.59 T (\050at) 463.32 464.59 T (416) 476.31 464.59 T (ms) 493.76 464.59 T (per) 507.87 464.59 T (e) 523.09 464.59 T (x) 527.38 464.59 T (e-) 532.23 464.59 T (cution\051) 72 448.59 T (than) 104.15 448.59 T (its) 125.18 448.59 T (interpreted) 138.45 448.59 T (e) 185.59 448.59 T (x) 189.88 448.59 T (ecution) 194.73 448.59 T (\050at) 227.99 448.59 T (264) 242.35 448.59 T (ms) 261.17 448.59 T (per) 276.66 448.59 T (e) 293.25 448.59 T (x) 297.54 448.59 T (ecution\051.) 302.39 448.59 T (This) 341.48 448.59 T (performance) 363.07 448.59 T (data) 417.42 448.59 T (tells) 437.9 448.59 T (the) 458.39 448.59 T (Ja) 474.42 448.59 T (v) 482.55 448.59 T (a) 487.3 448.59 T (application) 495.56 448.59 T (de) 72 432.59 T (v) 81.19 432.59 T (eloper) 86.04 432.59 T (that) 114.05 432.59 T (in) 132.07 432.59 T (both) 142.87 432.59 T (its) 163.67 432.59 T (byte-code) 176.14 432.59 T (and) 218.59 432.59 T (nati) 236.04 432.59 T (v) 250.79 432.59 T (e) 255.65 432.59 T (code) 263.11 432.59 T (form,) 285 432.59 T 2 F (calculateHiddenLayer) 309.96 432.59 T 0 F (creates) 432.98 432.59 T (a) 463.76 432.59 T (lot) 471.22 432.59 T (of) 484.8 432.59 T (objects.) 496.15 432.59 T (At) 530 432.59 T (least) 72 416.59 T (part) 93.4 416.59 T (of) 112.02 416.59 T (the) 123.43 416.59 T (reason) 138.72 416.59 T (wh) 167.89 416.59 T (y) 180.06 416.59 T (it) 188.13 416.59 T (runs) 196.76 416.59 T (so) 217.05 416.59 T (slo) 229.02 416.59 T (wly) 240.44 416.59 T (has) 258.51 416.59 T (to) 274.91 416.59 T (do) 285.76 416.59 T (with) 298.83 416.59 T (the) 319.69 416.59 T (VM) 334.98 416.59 T (o) 354.16 416.59 T (v) 359.01 416.59 T (erhead) 363.86 416.59 T (associated) 393.58 416.59 T (with) 437.75 416.59 T (these) 458.61 416.59 T (object) 482.23 416.59 T (creates.) 509.74 416.59 T (One) 72 400.59 T (w) 91.4 400.59 T (ay) 98.52 400.59 T (to) 110.71 400.59 T (impro) 121.23 400.59 T (v) 144.97 400.59 T (e) 149.82 400.59 T (its) 157 400.59 T (performance) 169.2 400.59 T (is) 222.47 400.59 T (to) 231.88 400.59 T (try) 242.41 400.59 T (to) 256.26 400.59 T (reduce) 266.79 400.59 T (the) 296.18 400.59 T (number) 311.14 400.59 T (of) 344.43 400.59 T (objects) 355.51 400.59 T (created) 386.58 400.59 T (in) 418.2 400.59 T (the) 428.72 400.59 T (method\325) 443.68 400.59 T (s) 476.46 400.59 T (e) 483.1 400.59 T (x) 487.39 400.59 T (ecution.) 492.24 400.59 T (W) 526.92 400.59 T (e) 535.56 400.59 T (e) 72 384.59 T (xamined) 76.29 384.59 T (the) 113.61 384.59 T (method\325) 128.71 384.59 T (s) 161.49 384.59 T (Ja) 168.27 384.59 T (v) 176.4 384.59 T (a) 181.15 384.59 T (source) 188.47 384.59 T (code,) 217.45 384.59 T (and) 241.71 384.59 T (disco) 259.04 384.59 T (v) 279.99 384.59 T (ered) 284.85 384.59 T (that) 304.94 384.59 T (a) 322.82 384.59 T (temporary) 330.14 384.59 T (object) 374.12 384.59 T (w) 401.45 384.59 T (as) 408.57 384.59 T (being) 419.78 384.59 T (created) 444.88 384.59 T (in) 476.63 384.59 T (a) 487.3 384.59 T (while) 494.62 384.59 T (loop.) 519.72 384.59 T (This) 72 368.59 T (temporary) 92.42 368.59 T (object) 136.15 368.59 T (had) 163.22 368.59 T (the) 180.3 368.59 T (same) 195.15 368.59 T (v) 218.34 368.59 T (alue) 223.09 368.59 T (each) 242.38 368.59 T (time) 263.34 368.59 T (it) 283.75 368.59 T (w) 291.95 368.59 T (as) 299.07 368.59 T (created) 310.03 368.59 T (and) 341.54 368.59 T (used) 358.61 368.59 T (inside) 379.58 368.59 T (the) 406.1 368.59 T (loop.W) 420.95 368.59 T (e) 449.88 368.59 T (modi\336ed) 456.95 368.59 T (the) 495.14 368.59 T (method) 510 368.59 T (to) 72 352.59 T (hoist) 82.37 352.59 T (the) 104.41 352.59 T (temporary) 119.22 352.59 T (object) 162.91 352.59 T (creation) 189.94 352.59 T (outside) 224.74 352.59 T (the) 256.22 352.59 T (loop.) 271.03 352.59 T (The) 293.9 352.59 T (table) 312.05 352.59 T (in) 334.08 352.59 T (Figure) 344.45 352.59 T (7) 373.06 352.59 T (sho) 380.65 352.59 T (ws) 394.29 352.59 T (total) 407.99 352.59 T (CPUtime) 428.36 352.59 T (and) 468.18 352.59 T (object) 485.21 352.59 T (creates) 512.24 352.59 T (of) 72 336.59 T (the) 82.71 336.59 T (modi\336ed) 97.32 336.59 T (v) 135.26 336.59 T (ersion) 140.11 336.59 T (of) 166.93 336.59 T 2 F (calculateHiddenLayer.) 177.64 336.59 T 0 F (This) 306.03 336.59 T (data) 326.19 336.59 T (w) 345.23 336.59 T (as) 352.35 336.59 T (tak) 363.07 336.59 T (en) 375.18 336.59 T (partw) 387.01 336.59 T (ay) 409.68 336.59 T (through) 421.5 336.59 T (the) 454.99 336.59 T (application\325) 469.6 336.59 T (s) 516.82 336.59 T (e) 523.09 336.59 T (x) 527.38 336.59 T (e-) 532.23 336.59 T (cution.) 72 320.59 T (As) 102.22 320.59 T (a) 116.06 320.59 T (result) 123.22 320.59 T (of) 148.17 320.59 T (this) 159.22 320.59 T (change,) 176.4 320.59 T (we) 209.94 320.59 T (were) 224.33 320.59 T (able) 246.48 320.59 T (to) 265.86 320.59 T (reduce) 276.37 320.59 T (the) 305.74 320.59 T (number) 320.69 320.59 T (of) 353.96 320.59 T (object) 365.02 320.59 T (creates) 392.18 320.59 T (by) 422.67 320.59 T (85%) 435.39 320.59 T (in) 456.45 320.59 T (the) 466.95 320.59 T (byte-code) 481.89 320.59 T (v) 524.05 320.59 T (er-) 528.9 320.59 T (sion) 72 304.59 T (\05023) 91.38 304.59 T (vs.) 107.42 304.59 T (158) 121.52 304.59 T (creates\051,) 139.23 304.59 T (and) 175.52 304.59 T (75%) 192.67 304.59 T (in) 213.71 304.59 T (the) 224.2 304.59 T (nati) 239.13 304.59 T (v) 253.88 304.59 T (e) 258.73 304.59 T (code) 265.88 304.59 T (v) 287.47 304.59 T (ersion) 292.32 304.59 T (\050150) 319.47 304.59 T (vs.) 340.51 304.59 T (600) 354.61 304.59 T (creates\051.) 372.32 304.59 T (The) 408.61 304.59 T (CPU) 426.87 304.59 T (time) 449.03 304.59 T (spent) 469.52 304.59 T (interpreting) 493.34 304.59 T (the) 72 288.59 T (method\325) 87.68 288.59 T (s) 120.46 288.59 T (byte-code) 127.8 288.59 T (form) 170.69 288.59 T (impro) 193.59 288.59 T (v) 217.33 288.59 T (ed) 222.18 288.59 T (by) 235.07 288.59 T (11%) 248.53 288.59 T (\0503.53) 270.32 288.59 T (vs.) 294.61 288.59 T (3.96) 309.45 288.59 T (seconds\051,) 330.41 288.59 T (and) 371.36 288.59 T (the) 389.25 288.59 T (CPUtime) 404.93 288.59 T (e) 445.62 288.59 T (x) 449.91 288.59 T (ecuting) 454.76 288.59 T (the) 487.65 288.59 T (method\325) 503.33 288.59 T (s) 536.11 288.59 T (nati) 72 272.59 T (v) 86.75 272.59 T (e code form impro) 91.6 272.59 T (v) 165.6 272.59 T (ed by 10% \05018.7 vs. 20.8 seconds\051.) 170.45 272.59 T (W) 90 246.59 T (e) 98.64 246.59 T (w) 105.76 246.59 T (anted) 112.88 246.59 T (to) 137.21 246.59 T (see) 147.67 246.59 T (ho) 163.12 246.59 T (w) 172.87 246.59 T (well) 182.77 246.59 T (our) 202.66 246.59 T (tuning) 218.67 246.59 T (based) 246.91 246.59 T (on) 272.36 246.59 T (a) 285.03 246.59 T (simulated) 292.15 246.59 T (dynamically) 333.72 246.59 T (compiled) 385.83 246.59 T (e) 425.73 246.59 T (x) 430.02 246.59 T (ecution) 434.87 246.59 T (translates) 466.99 246.59 T (to) 507.43 246.59 T (a) 517.89 246.59 T (real) 525.01 246.59 T (dynamically) 72 230.59 T (compiled) 124.22 230.59 T (e) 164.22 230.59 T (x) 168.51 230.59 T (ecution.) 173.36 230.59 T (W) 208.09 230.59 T (e) 216.73 230.59 T (performed) 223.95 230.59 T (the) 268.38 230.59 T (same) 283.38 230.59 T (tuning) 306.71 230.59 T (changes) 335.05 230.59 T (to) 370.05 230.59 T (the) 380.61 230.59 T (original) 395.61 230.59 T (v) 429.5 230.59 T (ersion) 434.35 230.59 T (of) 461.57 230.59 T (the) 472.69 230.59 T (Ja) 487.69 230.59 T (v) 495.82 230.59 T (a) 500.57 230.59 T (applica-) 507.79 230.59 T (tion) 72 214.59 T (\050without) 90.54 214.59 T (our) 127.41 214.59 T (modi\336cations) 143.72 214.59 T (to) 201.15 214.59 T (simulate) 211.92 214.59 T (dynamic) 248.79 214.59 T (compilation\051,) 286.21 214.59 T (and) 342.8 214.59 T (measured) 360.22 214.59 T (its) 401.52 214.59 T (e) 413.95 214.59 T (x) 418.24 214.59 T (ecution) 423.09 214.59 T (time) 455.52 214.59 T (when) 476.28 214.59 T (run) 500.92 214.59 T (under) 517.23 214.59 T (ExactVM.) 72 198.59 T (The) 115.97 198.59 T (o) 134.1 198.59 T (v) 138.95 198.59 T (erall) 143.8 198.59 T (e) 164.16 198.59 T (x) 168.45 198.59 T (ecution) 173.3 198.59 T (time) 205.32 198.59 T (impro) 225.69 198.59 T (v) 249.43 198.59 T (ed) 254.28 198.59 T (by) 266.3 198.59 T (10%) 278.89 198.59 T (when) 299.81 198.59 T (run) 324.05 198.59 T (by) 339.97 198.59 T (ExactVM) 352.55 198.59 T (with) 394.02 198.59 T (dynamic) 414.39 198.59 T (compiling,) 451.41 198.59 T (and) 497.06 198.59 T (by) 514.08 198.59 T (6%) 526.67 198.59 T (when) 72 182.59 T (run) 96.43 182.59 T (by) 112.54 182.59 T (ExactVM) 125.32 182.59 T (with) 166.97 182.59 T (dynamic) 187.52 182.59 T (compiling) 224.74 182.59 T (disabled) 268.08 182.59 T (\050T) 304.18 182.59 T (able) 312.82 182.59 T (2\051.) 331.98 182.59 T (These) 345.58 182.59 T (results) 372.24 182.59 T (imply) 401.12 182.59 T (that) 427.24 182.59 T (ExactVM\325) 445.02 182.59 T (s) 486.67 182.59 T (interactions) 493.34 182.59 T (with) 72 166.59 T (AP) 92.47 166.59 T (nati) 107.94 166.59 T (v) 122.69 166.59 T (e) 127.54 166.59 T (and) 134.67 166.59 T (byte-codes) 151.8 166.59 T (due) 197.82 166.59 T (to) 214.95 166.59 T (handling) 225.42 166.59 T (object) 263.11 166.59 T (creates) 290.24 166.59 T (account) 320.69 166.59 T (for) 354.48 166.59 T (a) 368.83 166.59 T (lar) 375.96 166.59 T (ger) 386.33 166.59 T (percent) 401.8 166.59 T (of) 433.92 166.59 T (the) 444.94 166.59 T (application\325) 459.85 166.59 T (s) 507.07 166.59 T (e) 513.65 166.59 T (x) 517.94 166.59 T (ecu-) 522.79 166.59 T (tion) 72 150.59 T (time) 90.03 150.59 T (\050compared) 110.29 150.59 T (to) 155.52 150.59 T (our) 165.77 150.59 T (\322dynamic) 181.58 150.59 T (compiler\323\051.) 222.93 150.59 T (ExactVM) 271.23 150.59 T (has) 312.58 150.59 T (impro) 328.38 150.59 T (v) 352.12 150.59 T (ements) 356.97 150.59 T (o) 387.78 150.59 T (v) 392.63 150.59 T (er) 397.48 150.59 T (JDK) 407.72 150.59 T (1.1.6) 428.52 150.59 T (to) 451 150.59 T (reduce) 461.25 150.59 T (g) 490.38 150.59 T (arbage) 495.33 150.59 T (col-) 524.45 150.59 T (lection,) 72 134.59 T (method) 104.83 134.59 T (call) 137.93 134.59 T (and) 155.48 134.59 T (object) 173.02 134.59 T (access) 200.57 134.59 T (times,) 229.22 134.59 T (and) 256.49 134.59 T (it) 274.04 134.59 T (does) 282.7 134.59 T (not) 304.14 134.59 T (ha) 320.03 134.59 T (v) 329.27 134.59 T (e) 334.12 134.59 T (an) 341.66 134.59 T (y) 350.95 134.59 T (of) 359.06 134.59 T (the) 370.5 134.59 T (JNI) 385.82 134.59 T (interactions) 403.37 134.59 T (with) 453.14 134.59 T (the) 474.02 134.59 T (VM) 489.35 134.59 T (that) 508.56 134.59 T (our) 526.67 134.59 T (nati) 72 118.59 T (v) 86.75 118.59 T (e) 91.6 118.59 T (forms) 98.99 118.59 T (of) 125.27 118.59 T (methods) 136.55 118.59 T (ha) 173.4 118.59 T (v) 182.64 118.59 T (e) 187.49 118.59 T (with) 194.88 118.59 T (the) 215.61 118.59 T (VM.) 230.78 118.59 T (Therefore,) 252.34 118.59 T (it) 297.21 118.59 T (is) 305.73 118.59 T (reasonable) 315.35 118.59 T (to) 361.06 118.59 T (conclude) 371.79 118.59 T (that) 410.84 118.59 T (object) 428.79 118.59 T (creates) 456.18 118.59 T (account) 486.9 118.59 T (for) 520.95 118.59 T (a) 535.56 118.59 T (lar) 72 102.59 T (ger) 82.37 102.59 T (percentage) 98.01 102.59 T (of) 144.18 102.59 T (the) 155.38 102.59 T (VM) 170.47 102.59 T (o) 189.45 102.59 T (v) 194.29 102.59 T (erheads) 199.15 102.59 T (in) 232.55 102.59 T (ExactVM) 243.2 102.59 T (e) 284.95 102.59 T (x) 289.24 102.59 T (ecutions.) 294.09 102.59 T (As) 332.78 102.59 T (a) 346.76 102.59 T (result,) 354.07 102.59 T (our) 381.65 102.59 T (tuned) 397.85 102.59 T (application) 422.94 102.59 T (achie) 470.25 102.59 T (v) 491.1 102.59 T (es) 495.95 102.59 T (a) 507.14 102.59 T (higher) 514.45 102.59 T 1 9 Q (Figur) 72 537.92 T (e) 93.34 537.92 T (5:) 99.58 537.92 T (P) 111.43 537.92 T (erf) 116.75 537.92 T (ormance) 127.52 537.92 T (data) 165.36 537.92 T (f) 186.71 537.92 T (or) 189.49 537.92 T (the) 202.34 537.92 T 2 F (updateWeights) 218.69 537.92 T 1 F (method) 293.24 537.92 T (fr) 326.59 537.92 T (om) 333.42 537.92 T (the) 349.77 537.92 T (dynamically) 366.12 537.92 T (compiled) 417.48 537.92 T (neural) 456.84 537.92 T (netw) 486.19 537.92 T (ork) 504.6 537.92 T (J) 522.45 537.92 T (a) 526.82 537.92 T (v) 531.09 537.92 T (a) 535.5 537.92 T (application.) 72 526.92 T 3 F (The) 117.26 526.92 T (table) 134.4 526.92 T (sho) 155.04 526.92 T (ws) 167.82 526.92 T (the) 179.97 526.92 T (perf) 194.11 526.92 T (ormance) 209.01 526.92 T (measures) 244.15 526.92 T (total) 281.79 526.92 T (CPUT) 300.94 526.92 T (ime) 324.11 526.92 T (\050second) 340.25 526.92 T (column\051) 371.38 526.92 T (and) 405.03 526.92 T (number) 421.67 526.92 T (of) 453.32 526.92 T (calls) 463.46 526.92 T (\050third) 483.1 526.92 T (column\051,) 506.74 526.92 T (f) 72 515.92 T (or) 74.91 515.92 T (both) 86.23 515.92 T (the) 106.05 515.92 T (byte-code) 120.88 515.92 T (\050top) 159.18 515.92 T (ro) 176.99 515.92 T (w\051,) 184.77 515.92 T (and) 199.34 515.92 T (nativ) 216.66 515.92 T (e) 235.03 515.92 T (\050middle) 242.35 515.92 T (ro) 273.67 515.92 T (w\051) 281.44 515.92 T (f) 293.76 515.92 T (orms,) 296.67 515.92 T (and) 320.74 515.92 T (compile) 338.07 515.92 T (time) 370.39 515.92 T (\050\336rst) 389.71 515.92 T (column\051) 410.53 515.92 T (associated) 444.86 515.92 T (w/the) 486.17 515.92 T (wrapper) 509.5 515.92 T (\050bottom ro) 72 504.92 T (w\051.) 110.53 504.92 T 72 83 540 98 C 0 0 0 1 0 0 0 1 K 81 96 225 96 2 L 0.5 H 2 Z 0 X N -45 -45 657 837 C 0 0 0 1 0 0 0 1 K 0 9 Q 0 X (4.) 72 77 T (Each time the method is called, the number of object creates can vary due to changes in the application\325s data structures.) 81 77 T 89.73 549.92 522.27 713 C 0 X %%BeginBinary: 17970 765 200 425.2 170.08 0 89.73 542.92 /red < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000FF8FADEE72BED90000FF > store /green < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000B53FD86A72BED90000FF > store /blue < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000EA64E6A772BED9FF00FF > store BEGINBITMAPCOLORc z ]'F6J"J" ]&F7O5FA8z"9z# ]#F9F7O2FBFAFA JU@$=$E%9$J$ SMFFFFFFFFFFFFFFFFFFFFFFFFFF@FFFFFFJ#8#B"?"G"8"9$8#J";#J":#Jx T!F9F9F9F9F9F9F9F9F9FFF9FFFF"9%=$@%H$9P%8$:%>$8Q9%9"8':%9(J"9s SMF9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFFFFFFFFFFFFFFFF9FFFFFFT;F9FBJ';&>'G":&8":";'=";$:'8"8%;'8"8&J#9" T+FFFFF9F9FFFFFFF9F9FFFFFFFFF9F9FFFFF9FFFFF9F9F9F9F9FFFFF9F9FFFFF9F9F9F9FFFFF9F9FFFFF9F9F9F9F9FFFFF9F9FFFFF9FFF9F9FFFFTFFBFBF9J#?"8$<$8$='@"8"B#F"8$8#G$8$:"J"C" T+F9F9F9F9FFFFFFFFF9F9FFFFF9FFFFF9FFF9FFF9F9F9F9FFFFF9F9F9FFFFF9F9FFFFF9TAFBFBJ$J%J"8#D$F$:$J" T,FFFFFF5FFFFFFFF7F9FFFFFFFFFFFFFFF9FFFFFFU=F9J&J'J#8"A&E$9&?"J"G" T*FFFFF9F9F95F9F9F9F9F9F96F9F9FFFFFFF9F9F9FFFFF9FFFFF9F9F9FFU!F9FBJ"@$<$9#>%?"8">">"D$8";"E$8$J" T.FFFFFFF9F9FFFFFFFFF9FFFFF9FFF9FFFFFFFFF9FFFFF9FFFFFFFFF9U"F9J"8":&8"9'8"8"8"P"F"8"8&8&8(8$8$8"9$8&8"8'8"8'8"8$8"J" T"FFFFF9FFFFFFF9FFF9FFFFFFFFF9FFFFF9F9FFFFFFFFFFFFF9F9FFFFFFF9FFF9F9FFFFFFF9FFF9FFFFF9FFFFFFFFFFF9FFFFFFF9FFF9FFFFFFF9FFFFF9FFFFFFFFF9FFFFF9FFFFT;FBJ%;r8'9%9&@#;u:r8z8r9s9%9tJ"9" T"F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F98F9F9F9F9F9F9F9F9TEF9FBJu9" ]AF9FBJ"E" ]=F9FBJ#9$;"9#:% ]KFBFBF9F9F9F9F9F9F9F9F9F9Jv9#9#:$8%:# ]@FBF9F9F9F9F9F9F9F9FBF9F9F9F9J&B":# ]MF9F9FBFBFBFBFBFBJ"E$9">)8" ]";#8" ]>FBFBFBFBF9FBFBFBFBJ%8$8#;&8# ]LFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBJv ]0F9J# ].F9F9J"E"9";"9"8&9% ]-F9FBF9F9F9F9F9F9F9F9F9FBF9F9Ct<$J#J%9$J":t;#="9#@" FEFEFEFEEFEFEO:FEFEFEFEFEFEFEYLF9FBF9F9F9F9F9FBC"8%:#8"J":#J"8"9$8#J#D"<"9"9$8"8"8" FBFBFBFBFBFEFEFBO*FEFEFEO$FBFBFBFEFBFEFEYKFBFBFBF9F9FBFBFBF9FBFBJ"J%J"J":";" 4FBO FEFBFEFE[@F9FBFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFBFEFEFEYAFBF#;"@'J#9":)8%;'8"8&8&J";)8$8&J$ FEFEFBFEFEFBFBFEFE:FEFBFEFEFEFBFBFEFEFBFBFBFBFBFBFEFEFBFBFEFEFBFEFBFBFEFEFEFEFBFBFBCFBFEFEFBFBFEFEFBFBFBFBFBFBFBFBFEFBYIF9F9FBF#E$8$J$F$8$:">"8"J'>$8$J" FBFBFEFEFBFBFEFEBFEFEFBFEFEFBFBFEFEFBFEFB9FBFEFEFBFEFBFEFEFBFBFEFEZ-F9J%J$@#J"8#J%9,J#>"?% CFEFEFEFE"<"J#8"J'J":sI":$ FBFBFBFBFBFBFB8FEFBFBFBFBFBFEFEFEFE9FBFBFEIFBFBFBFBFBFBY=FBF9FBF9F9FBJ$9#J$8"C$8$A"8"J%?$9#8*J":"9" AFBFEFEFEFEBFBFEFEFEFBFEFEFEFEFBFEFBFBFB5FBC%#B# U5FEFEFEFEFEFEFBFEFEEFEFEFEFEFEFEFEFEFEFEFEJ&J( U7FBFBFBFEFEFFEFEFBFBFBFEFEJ#9%9%9%9#<$9#;%;#9% U?FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFBFBFEFEFEFEFEFEFEFEFEFEJ5J'9, U>9FEFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFE6FEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEJ&8":#=%?#@%C":# U7FEFEFEFEFBFBFBFBFEFBFBFBFBFBFEFEFEFEFBFBFBJ%?$9&:#F#J$ U7FBFBFBFBFEFEFEFBFBFEFEFEFEFEFBFB5FEFEFEJ%;"8"9%J% UCFEFEFBFBFBFEFBFBFBFBDFEFEFBFBJ%=#8#<$H" UJFEFEFBFBFEFEFEFEFBFEFEFEJ5A';'9- UC4FBFEFEFEFBFEFEFBFEFEFEFEFBFBFBFEFEFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFBFEFEFBFBFBFEFEFEFBFEFEJ#;#8#8v9%9#>t8%8&9s U5FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB 8z ^9FA8Z ^;zz"z"z"z& 5FCW0FBF8P$FBF8P!FBF8P9FBF8FBFBFBFB7z 3FAI" FF9r"r" FBFAFBFF?"J#8#J#J#J#8# FFX7FDFDFDFD7FDFDQ"J#J# FFX8FBFB;FBFB@$J$;$:*9&:#=%@"8&8*:%J$9&:#9#J&:&9$<$:%;#;#9#8&8%C$:%B% FBFAFAW>FDFDFDFDFDFDFDFDFBFDFDFBFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFBFDFDFBFDFDFDFDFDFDFDIFDFDFDFDFDFBFDFDFDFDFDFDGFDFDFBFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD=$J&9&;):%A'?"8#=)8'J&:%J%;":&:&8'9%E"9'A&8'@' FFFFFBW@FDFDFBFDFDFDFDFBFDFDFDFBFDFDFDFBFDFDFDFBFDFDFDFDFBFBFDFDFBFBFBFDFBFDFDFDFBFDFDFDFDFBFBFDFDGFDFDFBFDFDFDFBFDFDO%FDFBFDFDFDFDFDFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFBFDFDA$J$;(:"9"=&J"9"J$=&J&:,8$C&E$G$;#F% FBFAFAW;FDFDFBFDFDFBFBFBFDFDFBFBFBFBFBFDFDEFBFBO#FDFDFBFBFBFBFDFDO$FBFBFBFDFDFBFBFBFBFDFDFBFBFBFDFDFDFDFBFDFDFBFBFBFBFBFBFDFDFBFBFBFDFBFBFB<$J#J#J#J#J#:#J#F#9$B"8# FFFFFBWDFBFBJFDFDCFDFDLFBFBOGFBFBFDFD>FDFDFBFBFDFDFDFBFDFDB$J%J%J%J%H%C#8" FBFAFAX(8$=%8&<$B%@$>"B$ FBFAFAW9FBFDFDFBFDFDFBFDFDFBFDFBFDFDFBFDFBFDFDFDFDFBFDFDFFBFDFDFDFBFDFDFBFDFBFDKFDFBFDFDFBFBFDFDFBFDFDFBFBFDFDFDFBFDFDFBFDFDFBFDFDFBFDFDFBFDFDFBFDFDFDFDFDFD:$J&9&G%A"8$@%G"8$J&:%9"8#J%@&:&8"8$9%:"8#@"8$A&8(?"8$ FFFFFBWCFBFDFDFDFBFBFDFDFDFBFBFDFDFBFBFDFDFBFBFDFDFBFBFDFDFBGFBFDFDFDFBFBFDFDFBFBFDFBKFBFDFDFBFBFDFDFDFBFBFDFDFDFBFBFDFDFBFBFDFDFBFBFDFBFBFDFDFBFBFDFDFDFBFBFDFDFDFBFDFDFBFDFDFBD$J$;$:#8#8#;#:#8#9%B#8#8#8#8#9%J$<#;'J#:#<$<$:%;&9'8#;%C$:t8#9% FBFAFAW:FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBIFBFBFBFBFBFBFBFBFBFBFBJFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB9#u FFFFFA:"B"JsJs FAFAX>FDR0FD9zJ#JsJ#J#Js /FBX&FBFB6FBO59*9'J'>59*9'J'9, X4FEFEFBFBFEFE;FEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFEFBFEFEFBFEFEFBFEFEFEFBFBFEFEAFEFEFBFBFEFE;FEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFEFBFEFEFBFEFEFBFEFEFEFBFBFEFEO'FEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEJ&A%@%B#@"=";%I&A%@%B#@"=";%J"<% X&FEFEFEFEFBFEFBFBFBFEFBFBFBFBFBFBFBFEFBFBFBFEFEFEFEFBFEFBFBFBFEFBFBFBFBFBFBFBFEFBFBFBO0FBFEFBFBFBJ%@&?&:#J&J%@&?&:#J&J& X&FBFBFBFBFBFBFEFEFEFBFBFEFEFEFEFE?FBFBFEFEFE4FBFBFBFBFBFBFEFEFEFBFBFEFEFEFEFE?FBFBFEFEFEO6FBFBFEFEFEJ"8"@"8"9%J"8"J"8"@"8"9%J"8"J"8" X6FBFEFBFEFBFBFBFB?FBFECFBFEFBFEFBFBFBFB?FBFEO7FBFEJ$8#?-@%=#;#H"9%A$8#?-@%=#;#H"9%J":% WJFBFEFEFEFEFBFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFEFEFEFEFEFBFBFBFEFEFEFEFBFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFEFEFEFEFEFBFBO2FEFEFEFBFBJ'B":'>5>%9'@'B":'>5>%9'J'9, WKFBFEFEFEFEFBFEFBFEFEFEFEFB;FBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBFBFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFEFBFEFEFEFEFB;FBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBFBFEFEFBFBFEFEFEFEFBO'FBFEFEFEFEFBFBFEFEFBFBFBFEFEFEFEFBJ%8#=&9%@%9%9%9%8#8#8&8%B%8#=&9%@%9%9%9%8#8#8&8%J%;#9% WLFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBO)FBFBFBFBFBFBFBFBFBFB JrJr X;FEOJFEJrJrJ# X;FBOJFBP0FBFB Jz 5^#F8Jz"z"z"z 5W0FBF8P$FBF8P!FBF8P9FB J#J#:#:#?#A#J#J&H#<#=#@#:#H#J#=#D#9#<#J%@*8%J#:& O"FEFE6FEFEFEFEFEFEFEFEFEFE"9%9'J#>$ O.FEFEO)FEFE@FEFE;FEFEFBOGFEFEDFBFEFESGFEFEFBFBFEFEFEFBFBFBFBFEFEFBFBFEFEOFFEFEFBFBFBJ#J#J";"J$:$J#<$J#;$ P#FBFBIFBFBO%:$?#>&E#="<"J# DFBFBFBFEFEFEFEFBFBFBFBFBMFEFEFBFBFBFBFBFBFEFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBFBFBFBFEFEFEFEFBFEFEFEFEFBFBFEFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBFBFBSGFEFBJ$A#=":"=#J"8#J#J%;$:"8#H$I#J$8"J# O'FEFEFEFEFEFEFEFEFE?FBFEFE?FEFEO=FBFBFBFBFEFEFEFBFEFEFEFEFEFEFET0FEFEFEFEP,FEFEJ%A%8"@":%J#8"J%J$<":"B%;#8"F%I%C'J(8& O&FEFEFBFBFBFBFBFBFBFBFBFBFBFB>FBFBFE>FBFBFBFBO(FEFBFEFBFBFEFEFBFBFBFBFEFEFEFBFBFBFBFBFBFBFEFEFEFEFBSEFEFEFBFBFBFBFBFBFBFEFEFBJ$8$J"J"9"=#J"J'I'J' O=FEFEFBFBFEFEJFBOKFBFBFEFE9FBU!FBFEFEFEFEFBFBFEFEFEFEFBOMFBFEFEFEFEFBJ$<&8&="="9%9">";%<&F&J"9%@&J#=">"8"F":$G":"<&>%9#?"8"J%9#;#8#;%J#:% ;FEFBFEFEFBFEFEFBFBFEFEFBFEFEFEFEFBFEFEFBFBFEFBFEFEFBFEFEFBFEFEFBFEFEFE=FEFEFBFEFEFEFBFEFEFB?FEFEFEFBFBFEFEFEFEFEFEFEFBFEFEFBFEFBFEFEFEFEFBFBS?FBFBFBFBFBFBFBFBFBFBFBFBFBFBOIFBFBFBFBFBFBJ"8#<%:%:/8$F"8$=%C'8$J'8$@%@&J$J*8$A-9%="8$ 9FBFEFBFBFEFEFBFBFEFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFBFBFBFEFEFB7FBFEFEFBFBFBFEFEFBFBFEFEFBFEFEFEFEFE9FBFEFB8FBFEFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEFBJ';#<&9'8#9%;#:#;%9#:#;#9#9#9%A#8#9#9#9%9#=#:$8u8#8#8#8#8#9"9#@#:#9'8%9#9#9#9w:#9%9$8$;# :FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFEFEFBFBFBJ#8"J$J# P'FEFEFEP>FEFEFBO;FBFBJ%8"JsJ$J"J$ P'FBFEFEFEFB7FEKFBFEFEJFEOBFEFEFBJ#J&JsJ#?#J$J# BFBFBO2FBFBFBFBFB8FBAFBFBFBFBJFBFBFBO@FBFB Jz 5^#F8Jz"z"z"z 5W0FBF8P$FBF8P!FBF8P9FB J#J#F#9&@#@#8#;#J#8#;#J#<#J#J#:#:#?#A#J#J#J%=&8%<#J&;# =FEFEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEAFEFEFEFEFEFEHFEFEFEFEODFEFE6FEFEFEFEFEFEFEFEFEFE>FEFE:FEFEQ*FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEOGFEFEFEFEFEFEFEJ#=%J"J"F#J#J#I#J#J'>+:"J$:" OCFEFEFEFEFBFB>FEMFEFEFEPHFEFEO)FEFEFEFE7FEFEQ.FEFEFBFBFEFEFBFBFBFBFEFEFBFBFEFEFEOKFBFBFBFEJ"8"E#<#@#J#J#J#J$C#J$<# O5FEFEFBFBFBFBFBFBS2FBFBIFBFB%9#9#8&8%?#>%8"8%8#8#9$:&;#A%:%9-:%9&?#9#8&<#<%8"8#8%8$8"8"8$8%9#:&;$8"8#8%I':%8"8):#8%J$8'J$ BFEFEFEFEFEFEFEFEFEFEFEFEFBFBFEFEFBFEFEFEFEFEFBFEFEFBFEFEFBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFBFEFEFBFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFBFEFEFBFEFEFEFEFEFEFEFEQ'FEFEFEFBFEFEFEFEFBP!FEFEFEJ'@'A":";"8"8#:"8"<&<'@"<'C"9'@"<)8#B&;"<$@'8':";#8"8':"J%:%:)8*=#='=&;#8$8*J#8"8)8#C'J.8#J'8# AFEFEFBFBFEFEFEFEFBFBFEFEFEFEFEFBFBFBFBFBFEFEFBFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFBFBFBFBFEFEFBFEFEFEFEFEFBFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFEFEFEFBFBFEFEFE6FEFBFEFEFEFEFBFEFEFEFBFBFEFEFBFBFBFBFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFEFEFBFEFEFEFBFEFBFBFBFBFBFEFEFBFBFEFE4FEFBFEFEFEFBFBFEFEFBFBFBFBFEFEFBFBFEFEQ$FBFBFBFBFEFEFBFEFEFBFBFEFEFEFBOIFBFBFBFBFEFEFEFBJ#;$8'J$H$?#C"J'C"J(:$9$I#>$9$D$J&8&:#J&<$A%J$:#D$8$J#J# AFBFBFBFEFEFEFEFBFBFBFB:FBFBFBFEFEFBFBFBFB:FBFBFBFBFBFBFB>FEFEFBFBFBFEFEFBFBFBFEFEFBFBFBFBFBFBFBFBFBFBFBFB4FBFBFBFEFEFEFEFBFBFBFBFBMFEFEFBFBFBFBFBFBFEFBFBFB4FBFBFBFBFBFBFEFEFEFEFBQ9FEFBP#FEFBJ$C$B$8$J#=$C"=#J$C"=#>$:$J#;$J#J$A#=":"=#J"8#J$J#J#C$8"J#<$8" BFEFEFEFEFEFEFEFEFBFBFEFE=FBFBFEFEFEFEFEFE4FEFEFEFEFEFEFBFEFEFEFEFBBFEFEFEFEFE5FEFEO FEFEFEFEFEFEFEFEFE?FBFEFE=FEFEFE7FEFEQ&FEFEFEFEFEFEOEFEFEFEFEFEFEJ#=%:":"8%D%J%B">%G%B">%J$C%8%J%J%A%8"@":%J#8"J%C":":%J#E%8"J%8" 8FEFEFEFEFBFBFBFBFEFEFBFBFEFEFEFEGFEFEFBFBFBFBFBFBFBFEFEFBFBFBFBFBFBFBBFBFEFEFBFBFBFBFEFEFBFB5FBFBFBFBKFEFEFBFBFBFBFBFBFBFBFBFBFBFB>FBFBFE;FEFEFBFBFBFBFBFBFBFBQ!FEFEFBFBFBFBFBOLFBFBFBFBFBJ#J%J#J#J#G)J$8$J"J#J';.J' KFEFE6FBFBFBFB?FEFE7FBFELFBFEFBFEFEFBFBFEFEFBPLFEFEFBFBFEFEJFBO"FEFEQ#FBFEFEFEFEFBFBFEFEFEFEFBFBFBFEFEFEFEFBOMFBFEFEFEFEFBJ$=";"8"<"A$:$@"C$B"J%:$C"J%;"A(A$B%;"J%H$<&8&="="9%9">";%<&F&J"="<"8";%J%9#8%9%<#J%<# :FEFBFEFEFBFBFEFEFEFBFBFEFEFEFBFEFEFE5FEFBFEFEFEFBFEFE5FEFBFEFEFEFBFEFEFBFEFEFBFBFEFEFEFBFEFEFE5FEFBFEFEFEFBFEFEFBFEFEFBFBFEFEFBFEFEFEFEFBFEFEFBFBFEFBFEFEFBFEFEFBFEFEFBFEFEFEAFEFEFBFBFEFBFEFEPHFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBOGFBFBFBFBFBFBJ"8"8"8(?(J%D&<(A":"8$8"8#@(A":"8$8%B&I(8$8(F"8$F"8#<%:%:/8$F"8$=%C'8$J-C"8$ 8FBFEFBFBFEFEFEFBFEFEFBFEFEFEFBFEFE9FBFEFEFBFBFEFEFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFEFBFEFEFEFEFEFBFBFEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFBFBFEFEFBFBFEFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFBFBFBFEFEFB;FBFEFEFEFBFEFEFBFBFEFEFBFBFEFEFBJ&:'9#;'>#<&;#8#8#8#:$9#9t8#;#9%:'8#;t8#;#9%:#9#8#;$:#:#8#8r8%:t:#9#9%9#C';#<&9'8#9%;#:#;%9#:#;#9#9#9%C#:#9#9'8#8#:#;% 9FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBJ#8" UFFEFEFEJsJsJ%8"Js O*FER=FEO=FBFEFEFEFB7FEJsJs@#J&Js O*FBR=FBFBFBO2FBFBFBFBFB8FB ;v;z FA^#F8:"Fz"z"z"z FAW0FBF8P$FBF8P!FBF8P9FB9z /FB9Z /9"C"J#J#:#:#?#A#J&H#<#=#@#:#H#J#=#D#9#<#J%>#9';#J%9% FBFA>FEFE6FEFEFEFEFEFEFEFEFEFE6FEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFE4FEFEFEFEFEFEFEFEFEFER$9#J# FBFFFFOJFBFBO6FEFEOLFBFEFEFEFEFBRFFBFBFEFEFBFEFBR!FBFBD$>#9#8&<#<%8"8#8%8$8"8"8$8%9#:&;$8"8#8%9$@*J#:#B%:%<$8"8#8%<#?%:#8$ FAFAFBFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFBFEFEFBFEFEFE7FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFE;$J%:%:)8*=#='=&;#8$8*G)C"9"J'8':#8$8*:%='D"8"J$9#J$8% FBFFFF%:$?#>&E#="<"J#J%8$ FAFAFB4FBFBFBFEFEFEFEFBFBFBFBFBMFEFEFBFBFBFBFBFBFEFBFBFBFBFBFBFBFBFEFEFEFEFBFEFEFEFEFBFBFEFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBFBFBS'FEFBR!FBFBFEFEFBFBFB<$J$A#=":"=#J"8#J%;$:"8#H$I#J$8" FBFFFFLFEFEFEFEFEFEFEFEFE?FBFEFEO-FBFBFBFBFEFEFEFBFEFEFEFEFEFEFES>FEFEFEFEB$J%A%8"@":%J#8"J$<":"B%;#8"F%I%C'J#?$9%8"J# FAFAFBEFEFEFBFBFBFBFBFBFBFBFBFBFBFB>FBFBFEGFEFBFEFBFBFEFEFBFBFBFBFEFEFEFBFBFBFBFBFBFBFEFEFEFEFBREFEFEFEFEFBFBFBFBFBFBR!FEFE=$J$8$J"J"9"=#J"J'J. FBFFFFO3FEFEFBFBFEFEJFBHFBFBFEFE9FBT!FBFEFEFEFEFBR4FBFEFEFEFEFBFBFBFEFEFEFEFBA$C$<&8&="="9%9">";%<&F&J#=">"8"F":$G":"<&>%9#?"8"J%9#9#:#>#J%9% FAFAFBFEFBFEFEFBFEFEFBFBFEFEFBFEFEFEFEFBFEFEFBFBFEFBFEFEFBFEFEFBFEFEFBFEFEFEBFEFEFEFBFBFEFEFEFEFEFEFEFBFEFEFBFEFBFEFEFEFEFBFBR?FBFBFBFBFBFBFBFBFBFBFBFBQJFBFBFBFBFBFBFBFB>$D"8#<%:%:/8$F"8$=%C'8$?&J$J*8$A-9%="8$ FBFFFAFBFEFBFBFEFEFBFBFEFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFBFBFBFEFEFBFEFEFEFEFE9FBFEFB8FBFEFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEFBB"C';#<&9'8#9%;#:#;%9#:#;#9#9#9%9$8u8#8#8#8#8#9"9#@#:#9'8%9#9#9#9w:#9%9$8$;# FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFEFEFBFBFB?"J#8"J$J# FBOKFEFEFEO;FEFEFBO;FBFBA"J%8"J$J"J$ FBOIFBFEFEFEFB9FBFEFEJFEOBFEFEFB9ZF#J&J#J$J# /FBFBO2FBFBFBFBFB;FBFBJFBFBFBO@FBFB8" FF7zz" 4FC^#F8FBJz 5^(FC7z" ^;FAFCJ# ^;FFFC9y#Z$x" FBFFFB]EFBFFFFFBFFE$J"9# FFFFFA]EFAFFFFC%:z"<# FFFFFFFA]AFBFAFFFFA#8"J#8# FFFFFB]KFBFBFFFF?#8#J#8# FFFFFBFB^ FBFBFFFF=#8#J#8# FFFFFBFB^$FBFBFFFF;#8#J#8# FFFFFBFB^(FBFBFFFF9'J& FAFAFAFAFBFB^,FBFAFAFAFA9#8#J"9" FBFBFAFA^,FAFB;#8#J#8# FBFBFAFA^(FAFAFBFB=#8#J#8# FBFBFAFA^$FAFAFBFB?#8#J#8# FBFBFAFA^ FAFAFBFBA#8"J#8# FBFBFA]KFAFAFBFBC# store /green < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000B53FD86A72BED90000FF > store /blue < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000EA64E6A772BED9FF00FF > store BEGINBITMAPCOLORc z ^@F6J"J" ^?F7O5FA8z"9z# ^"9%=$@%H$9P%8$:%>$8Q9%9"8':%9(J"9s TCF9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFFFFFFFFFFFFFFFF9FFFFFFU0F9FBJ';&>'G":&8":";'=";$:'8"8%;'8"8&J#9" U!FFFFF9F9FFFFFFF9F9FFFFFFFFF9F9FFFFF9FFFFF9F9F9F9F9FFFFF9F9FFFFF9F9F9F9FFFFF9F9FFFFF9F9F9F9F9FFFFF9F9FFFFF9FFF9F9FFFFU;FBFBF9J#?"8$<$8$='@"8"B#F"8$8#G$8$:"J"C" U!F9F9F9F9FFFFFFFFF9F9FFFFF9FFFFF9FFF9FFF9F9F9F9FFFFF9F9F9FFFFF9F9FFFFF9U6FBFBJ$J%J"8#D$F$:$J" U"FFFFFF5FFFFFFFF7F9FFFFFFFFFFFFFFF9FFFFFFV2F9J&J'J#8"A&E$9&?"J"G" U FFFFF9F9F95F9F9F9F9F9F96F9F9FFFFFFF9F9F9FFFFF9FFFFF9F9F9FFUDF9FBJ"@$<$9#>%?"8">">"D$8";"E$8$J" U$FFFFFFF9F9FFFFFFFFF9FFFFF9FFF9FFFFFFFFF9FFFFF9FFFFFFFFF9UEF9J"8":&8"9'8"8"8"P"F"8"8&8&8(8$8$8"9$8&8"8'8"8'8"8$8"J" TFFFFFF9FFFFFFF9FFF9FFFFFFFFF9FFFFF9F9FFFFFFFFFFFFF9F9FFFFFFF9FFF9F9FFFFFFF9FFF9FFFFF9FFFFFFFFFFF9FFFFFFF9FFF9FFFFFFF9FFFFF9FFFFFFFFF9FFFFF9FFFFU0FBJ%;r8'9%9&@#;u:r8z8r9s9%9tJ"9" TFF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F98F9F9F9F9F9F9F9F9U:F9FBJu9" _,F9FBJ"E" _(F9FBJ#9$;"9#:% _6FBFBF9F9F9F9F9F9F9F9F9F9Jv9#9#:$8%:# _+FBF9F9F9F9F9F9F9F9FBF9F9F9F9J&B":# _8F9F9FBFBFBFBFBFBJ"E$9">)8" _'F9F9F9FBFBFBFBFBFBF9F9FBFBFB8zJ#B":# ^";#8" _)FBFBFBFBF9FBFBFBFBJ%8$8#;&8# _7FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBJv ^IF9J# ^GF9F9J"E"9";"9"8&9% ^FF9FBF9F9F9F9F9F9F9F9F9FBF9F9Ct<$J#J%9$J":t;#="9#@" FEFEFEFEEFEFEO:FEFEFEFEFEFEFE[7F9FBF9F9F9F9F9FBC"8%:#8"J":#J"8"9$8#J#D"<"9"9$8"8"8" FBFBFBFBFBFEFEFBO*FEFEFEO$FBFBFBFEFBFEFE[6FBFBFBF9F9FBFBFBF9FBFBJ"J%J"J":";" 4FBO FEFBFEFE]+F9FBFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFBFEFEFE[,FBF#;"@'J#9":)8%;'8"8&8&J";)8$8&J$ FEFEFBFEFEFBFBFEFE:FEFBFEFEFEFBFBFEFEFBFBFBFBFBFBFEFEFBFBFEFEFBFEFBFBFEFEFEFEFBFBFBCFBFEFEFBFBFEFEFBFBFBFBFBFBFBFBFEFB[4F9F9FBF#E$8$J$F$8$:">"8"J'>$8$J" FBFBFEFEFBFBFEFEBFEFEFBFEFEFBFBFEFEFBFEFB9FBFEFEFBFEFBFEFEFBFBFEFE[FF9J%J$@#J"8#J%9,J#>"?% CFEFEFEFE"<"J#8"J'J":sI":$ FBFBFBFBFBFBFB8FEFBFBFBFBFBFEFEFEFE9FBFBFEIFBFBFBFBFBFB[(FBF9FBF9F9FBJ$9#J$8"C$8$A"8"J%?$9#8*J":"9" AFBFEFEFEFEBFBFEFEFEFBFEFEFEFEFBFEFB#B# V*FEFEFEFEFEFEFBFEFEEFEFEFEFEFEFEFEFEFEFEFEJ&J( V,FBFBFBFEFEFFEFEFBFBFBFEFEJ#9%9%9%9#<$9#;%;#9% V4FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFBFBFEFEFEFEFEFEFEFEFEFEJ5J'9, V39FEFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFE6FEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEJ&8":#=%?#@%C":# V,FEFEFEFEFBFBFBFBFEFBFBFBFBFBFEFEFEFEFBFBFBJ%?$9&:#F#J$ V,FBFBFBFBFEFEFEFBFBFEFEFEFEFEFBFB5FEFEFEJ%;"8"9%J% V8FEFEFBFBFBFEFBFBFBFBDFEFEFBFBJ%=#8#<$H" V?FEFEFBFBFEFEFEFEFBFEFEFEJ5A';'9- V84FBFEFEFEFBFEFEFBFEFEFEFEFBFBFBFEFEFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFBFEFEFBFBFBFEFEFEFBFEFEJ#;#8#8v9%9#>t8%8&9s V*FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB 8z `$FA8Z `&zz"z"z"z% 5FCX.FBF8P)FBF8P8FBF8P9FBF8FBFBFB7z 3FAI" FF9r"r" FBFAFBFF?"J#I#I#J#=#J#J#8# FFY0FDFDFDFDFDFDO:FDFDFDFDP+FDFDO#FDFDFDFDA"J# FA\KFDFD>"J#J#J# FFY1FBFBHFBFBOCFBFB@$J$9&:#9#@#8';$=#9#9%9&:#8%@'9#9#8*C$=#:#B$9&8%:%8"8#8%>&:&9$<$:%;#;#9#8&8%C$:%B% FBFAFAX;FDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFBFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD=$J&:%J#8"9&E'D'A#8"C)A&;%F&:"9'8)8*?%;":&:&8'9%E"9'A&8'@' FFFFFBX=FDFDFBFDFDFDFBFDFD:FDFBFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFBFDFDFDFBFDFDFBFDFDFDFBFDFDFDFDFBFDFDFDFBFDFDFDFDFBFDFDFDFDFDFBFBFDFDFDFDFBFBFDFDFBFBFBFBFBFDFDFBFBFDFDFDFBFDFDFDFDFDFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFBFDFDA$J$=&J$:$J%;$8$H$E"9"C(:&D$=$?#J&:,8$C&E$G$;#F% FBFAFAX8FDFDFBFBFBFBFDFD9FBFBFBFDFDFB4FDFBFBFBFBFDFDFDFDFBFBFBFBFBFBFDFDFBFBFBFDFDFBFBFBFDFDFDFDFBFBFBFBFBFB:FBFBFBFDFDFBFBFBFBFDFDFBFBFBFDFDFDFDFBFDFDFBFBFBFBFBFBFDFDFBFBFBFDFBFBFB<$J#J#E"8#G#J#@#;$A#J#:#J#F#9$B"8# FFFFFBXAFBFBMFBFBFBFDFDFDFDOEFBFBFDFDFDFDFDFDFDEFBFBFDFD>FDFDFBFBFDFDFDFBFDFDB$J#8"<":":%J%8%A%J%J%H%C#8" FBFAFAZ FBFBFDFBFBFBFBFBFBP!FBFBFBFBFDFDFBFBFBFBFBFBIFBFBFBFB(8$=%8&<$B%@$>"B$ FBFAFAX6FBFDFDFDFBFDFDFBFDFBFD9FBFDFDFDFBFDFDFDFDFBFBFDFBFDFD4FDFBFD8FBFDFDFBFDFDFBFDFBFDFDFBFBFDFDFDFBFDFDFDFDFDFBFDFDFDFBFDFDFBFBFDFDFBFDFDFBFBFDFDFDFBFDFDFBFDFDFBFDFDFBFDFDFBFDFDFBFDFDFDFDFDFD:$J&:%9"8#J&<"8#:"8$D"8$H"8#J&;%F&>"8$8/8$?%@&:&8"8$9%:"8#@"8$A&8(?"8$ FFFFFBX@FBFDFDFDFBFBFDFDFBFBFDFB:FBFDFDFDFBFBFDFBFBFDFDFBFBFDFDFBFBFDFB9FBFDFDFDFBFBFDFDFBFBFDFDFDFBFBFDFDFBFBFDFDFDFBFDFDFBFBFDFDFBFBFBFDFDFBFBFDFDFBFBFDFDFDFBFBFDFDFDFBFBFDFDFBFBFDFDFBFBFDFBFBFDFDFBFBFDFDFDFBFBFDFDFDFBFDFDFBFDFDFBD$J$<#;'@#8#9#:$9#9'9%9#:#;%@#9#9'8#8#8#B$:&H$9#;%:'8#9%A#:#<$<$:%;&9'8#;%C$:t8#9% FBFAFAX7FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB9#uJ" FFFFFA[KFD:"B"JsJsJ#sJs FAFAXMFDP'FD4FBFBFDP59*9'J'9,J'9, Y4FEFEFBFBFEFE;FEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFEFBFEFEFBFEFEFBFEFEFEFBFBFEFEO+FEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEP%FEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEJ&A%@%B#@"=";%J"<%J"<% Y&FEFEFEFEFBFEFBFBFBFEFBFBFBFBFBFBFBFEFBFBFBO4FBFEFBFBFBP.FBFEFBFBFBJ%@&?&:#J&J&J& Y&FBFBFBFBFBFBFEFEFEFBFBFEFEFEFEFE?FBFBFEFEFEO:FBFBFEFEFEP4FBFBFEFEFEJ"8"@"8"9%J"8"J"8"J"8" Y6FBFEFBFEFBFBFBFB?FBFEO;FBFEP5FBFEJ$8#?-@%=#;#H"9%J":%J":% XJFBFEFEFEFEFBFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFEFEFEFEFEFBFBO6FEFEFEFBFBP0FEFEFEFBFBJ'B":'>5>%9'J'9,J'9, XKFBFEFEFEFEFBFEFBFEFEFEFEFB;FBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBFBFEFEFBFBFEFEFEFEFBO+FBFEFEFEFEFBFBFEFEFBFBFBFEFEFEFEFBP%FBFEFEFEFEFBFBFEFEFBFBFBFEFEFEFEFBJ%8#=&9%@%9%9%9%8#8#8&8%J%;#9%J%;#9% XLFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBO-FBFBFBFBFBFBFBFBFBFBP'FBFBFBFBFBFBFBFBFBFB Jr Y;FEJrJ#J# Y;FBP4FBFBP7FBFB Jz 5_=F8Jz"z"z"z 5X.FBF8P)FBF8P8FBF8P9FB J#I#J#:#8#=#=#I#J#J%9#<#J%=%9%:#=#J#:&8%J#:& IFEFEFEFE7FEFEFEFEFEFEFEFEFEFEFEFELFEFEIFEFEFEFEFEFEFEFET)FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEOEFEFEFEFEFEFEFEFEFEFEFEP+FEFEFEFEFEFEFEJ#J#J'J';1>"J#>+J#>$ OFEFEFEFBFEFEFEFEFBP1FEFEFEJ&8'=&E)8*G%;%:':#8"@'@':"G#8$8*:";%E"8"J%;%;$@#J.J' :FEFEFBFEFEFEFEFBFBFEFEFEFEFBFEFEFEFEFBFBFEFEFBFBFBFBFBFEFEFBFBFEFEFEFEFBFEFEFEFBFEFEFEFBFBFEFEFEFBFEFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFEFBFBFBFBFBFEFEFBFBFEFEFEFEFBFEFEFEFET-FBFBFEFEFBFEFEFEFEFEFEFEFBOMFBFBFBFBFEFEFBFEFEFBFBFEFEP/FBFBFBFBFEFEJ$;#@$H#J%>&:&D$B#;$8$A$E$I$9&B"<"J$;%># 9FEFEFBFBFBFEFEFBFBFB5FEFEFEFEFEFEFBFBFBFEFEFBFBFBFBFBFBFBFBFBFEFEFEFEFBFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBT5FBFBFBFBFBFEFEFEFBJ#9$B#F$A#<%J#J$D#J#J$8"J#J# =FBFBFEFEFEFBFBFEFEFEFEFEFBFBFBFB">$=$A"="9%F&:&<%J";"8";%J"9%@&D"8"J%9#8%9%:#=#J#:%9%J#:% 9FBFEFEFEFBFEFEFEFBFEFEFEFEFBFEFEFBFEFEFBFEFBFEFEFBFEFEFBFEFE6FEFBFBFEFBFEFE@FEFEFBFEFEFEFBFEFEFBFBFBT,FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBOEFBFBFBFBFBFBFBFBFBFBP+FBFBFBFBFBFBJ&8(<&8"8#>/8$G%;%:"8$C.?"8$J'8$@% :FBFEFEFEFBFBFEFEFEFBFEFEFBFEFEFEFBFBFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFBFEFEFEFEFEFBFBFEFEFEFBFEFEFBFEFEFB=FBFEFEFBFBFBFEFEFBFBFEFEFBJ$:t:$:'8#9'8#9%9#:#8#:&:&9%9#9#8r8'@%9#B#8#9#9#9%9#=#:$8$;# ;FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFEFEFEFEFBFBFBJ$ Q/FEFEFBJ"JsJ' Q.FE4FEKFBFEFEFEFEFBJ$HsJ#?% Q.FBFBFBFBAFBFBFBFBFBFB Jz 5_=F8Jz"z"z"z 5X.FBF8P)FBF8P8FBF8P9FB J#J#F#9&@#@#8#;#J#8#;#J#<#J#I#J#:#8#=#=#I#J#J#J%9%<'8%9%J%9%9%J&8% =FEFEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEAFEFEFEFEFEFEHFEFEFEFEO=FEFEFEFE7FEFEFEFEFEFEFEFEFEFEFEFEO FEFE:FEFEO&FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEOEFEFEFEFEFEFEFEFEFEFEFEFEP*FEFEFEFEFEFEFEFEFEJ#=%J"J"F#J#J#J#J.;%9.J5J+ OCFEFEFEFEFBFB>FEMFEFEFEQ(FEFEP.FEFE7FEFEO*FEFEFBFBFEFEFBFEFEFBFBFEFEFBFBFBFBFEFEFBFBFEFEFBFEFEFBFBFEFEOC4FEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEP+FBFBFBFBFEFEFBFBFEFEJ"8"E#<#@#J#J#J#J#I$;&J#J$ O5FEFEFBFBFBFBFBFBS4FBFBOEFBFB%9#9#8&8%?#>%8"8%8#8#9$:&;#A%:%9-:%9&A$:%?$9#9#=%8"8#8%C#:#=#<%9'B%8#:#8%9&G':%8"8):#8%J$J$J$ BFEFEFEFEFEFEFEFEFEFEFEFEFBFBFEFEFBFEFEFEFEFEFBFEFEFBFEFEFBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFBFEFEFBFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFBFEFEFBFEFEFEFEFEFEFEFEGFEFEFB=FEFEFBR3FEFEFEJ'@'A":";"8"8#:"8"<&<'@"<'C"9'@"<)8#B&;"<$@'8':";#8"8':"B&8'=&E)8*G%;%:':#8"@'@':"J#8"8)8#C'J$E$:$:$J$J' AFEFEFBFBFEFEFEFEFBFBFEFEFEFEFEFBFBFBFBFBFEFEFBFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFBFBFBFBFEFEFBFEFEFEFEFEFBFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFEFEFEFBFBFEFEFEFEFEFBFEFEFEFEFBFBFEFEFEFEFBFEFEFEFEFBFBFEFEFBFBFBFBFBFEFEFBFBFEFEFEFEFBFEFEFEFBFEFEFEFBFBFEFEFEFBFEFEFEFBFBFEFEFEFEFBFBFEFEFE5FEFBFEFEFEFBFBFEFEFBFBFBFBFEFEFBFBFEFEEFEFEFBFEFEFBFEFEFEFEFEFBOFFEFEFEP7FBFBFBFBFEFEJ#;$8'J$H$?#C"J'C"J(:$9$I#>$9$D$?$;#@$H#J%>&:&D$B#;$8$A$I$:#D$8$J$J%8$J% AFBFBFBFEFEFEFEFBFBFBFB:FBFBFBFEFEFBFBFBFB:FBFBFBFBFBFBFB>FEFEFBFBFBFEFEFBFBFBFEFEFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBFBFEFEFBFBFB5FEFEFEFEFEFEFBFBFBFEFEFBFBFBFBFBFBFBFBFBFEFEFEFEFBFBFBFBFBFBFBFBFBFBFEFEFEFEFBKFEFEFB7FBFBFEFEFEFEFBOGFBFBFEFEJ$C$B$8$J#=$C"=#J$C"=#>$:$J#;$J#J#9$B#F$A#<%J#J$D#J$J#J$J$J# BFEFEFEFEFEFEFEFEFBFBFEFE=FBFBFEFEFEFEFEFE4FEFEFEFEFEFEFBFEFEFEFEFBBFEFEFEFEFE5FEFE6FBFBFEFEFEFBFBFEFEFEFEFEFBFBFBFB%G%B">%J$C%8%J%J%J%A%J%I%:":":%J%C":":%J#8$ 8FEFEFEFEFBFBFBFBFEFEFBFBFEFEFEFEGFEFEFBFBFBFBFBFBFBFEFEFBFBFBFBFBFBFBBFBFEFEFBFBFBFBFEFEFBFB5FBFBFBFB8FEFEFBFB=FEFEFBFBFBFBFBFBDFBFBFBFBFEFEFBFBFBFBFBFBFBFBAFEFEFBFBFBFBFBFBFBFBO$FEFEFEFEFBJ#J%J#J#J#G)J#H#J#J#J,B'9%J5J. KFEFE6FBFBFBFB?FEFE7FBFELFBFEFBFEFEFBFBFEFEFBOLFEFEFEFEP+FEFEO0FEFEO!FEFEFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFEFEFEFEOC4FBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBP(FBFEFEFEFEFBFBFBFEFEFEFEFBJ$=";"8"<"A$:$@"C$B"J%:$C"J%;"A(A$B%;"J%F$>">$=$A"="9%F&:&<%J";"8";%J"="<"8";%J'8%9#8#;%8'J%9%9%J%9% :FEFBFEFEFBFBFEFEFEFBFBFEFEFEFBFEFEFE5FEFBFEFEFEFBFEFE5FEFBFEFEFEFBFEFEFBFEFEFBFBFEFEFEFBFEFEFE5FEFBFEFEFBFEFEFEFBFEFEFEFBFEFEFEFEFBFEFEFBFEFEFBFEFBFEFEFBFEFEFBFEFE6FEFBFBFEFBFEFEDFEFEFBFBFEFBFEFECFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBODFBFBFBFBFBFBFBFBFBFBFBFBP*FBFBFBFBFBFBFBFBJ"8"8"8(?(J%D&<(A":"8$8"8#@(A":"8$8%B&I(8$8(F"8$G&8(<&8"8#>/8$G%;%:"8$C.?"8$J-C"8$ 8FBFEFBFBFEFEFEFBFEFEFBFEFEFEFBFEFE9FBFEFEFBFBFEFEFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFEFBFEFEFEFEFEFBFBFEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEFEFBFBFEFEFEFBFEFEFBFEFEFEFBFBFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFBFEFEFEFEFEFBFBFEFEFEFBFEFEFBFEFEFBAFBFEFEFEFBFEFEFBFBFEFEFBFBFEFEFBJ&:'9#;'>#<&;#8#8#8#:$9#9t8#;#9%:'8#;t8#;#9%:#9#8#;$:#:#8#8r8%:t:#9#9%9#D$:t:$:'8#9'8#9%9#:#8#:&:&9%9#9#8r8'@%9#D#:#9#9'8#8#:#;% 9FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBJ$ W FEFEFBJsJsJ"Js O*FER=FEPDFE4FEJsJsJ$Hs O*FBR=FBPDFBFBFBFB ;v;z" FA_=F8FB:"Fz FA_=FB9z /FB9Z /9"C" FBFA$ FBFFFAB" FB?" FBA" FB9Z /8" FF7z 3FCJz 5_AFC7z" `&FAFCJ# `&FFFC9y#Z$x" FBFFFB_0FBFFFFFBFFE$J"9# FFFFFA_0FAFFFFC%:z"<# FFFFFFFA_,FBFAFFFFA#8"J#8# FFFFFB_6FBFBFFFF?#8#J#8# FFFFFBFB_9FBFBFFFF=#8#J#8# FFFFFBFB_=FBFBFFFF;#8#J#8# FFFFFBFB_AFBFBFFFF9'J& FAFAFAFAFBFB_EFBFAFAFAFA9#8#J"9" FBFBFAFA_EFAFB;#8#J#8# FBFBFAFA_AFAFAFBFB=#8#J#8# FBFBFAFA_=FAFAFBFB?#8#J#8# FBFBFAFA_9FAFAFBFBA#8"J#8# FBFBFA_6FAFAFBFBC# store /green < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000B53FD86A72BED90000FF > store /blue < 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000EA64E6A772BED9FF00FF > store BEGINBITMAPCOLORc z ^@F6J"J" ^?F7O5FA8z"9z# ^"9%=$@%H$9P%8$:%>$8Q9%9"8':%9(J"9s TCF9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFFFFFFFFFFFFFFFF9FFFFFFU0F9FBJ';&>'G":&8":";'=";$:'8"8%;'8"8&J#9" U!FFFFF9F9FFFFFFF9F9FFFFFFFFF9F9FFFFF9FFFFF9F9F9F9F9FFFFF9F9FFFFF9F9F9F9FFFFF9F9FFFFF9F9F9F9F9FFFFF9F9FFFFF9FFF9F9FFFFU;FBFBF9J#?"8$<$8$='@"8"B#F"8$8#G$8$:"J"C" U!F9F9F9F9FFFFFFFFF9F9FFFFF9FFFFF9FFF9FFF9F9F9F9FFFFF9F9F9FFFFF9F9FFFFF9U6FBFBJ$J%J"8#D$F$:$J" U"FFFFFF5FFFFFFFF7F9FFFFFFFFFFFFFFF9FFFFFFV2F9J&J'J#8"A&E$9&?"J"G" U FFFFF9F9F95F9F9F9F9F9F96F9F9FFFFFFF9F9F9FFFFF9FFFFF9F9F9FFUDF9FBJ"@$<$9#>%?"8">">"D$8";"E$8$J" U$FFFFFFF9F9FFFFFFFFF9FFFFF9FFF9FFFFFFFFF9FFFFF9FFFFFFFFF9UEF9J"8":&8"9'8"8"8"P"F"8"8&8&8(8$8$8"9$8&8"8'8"8'8"8$8"J" TFFFFFF9FFFFFFF9FFF9FFFFFFFFF9FFFFF9F9FFFFFFFFFFFFF9F9FFFFFFF9FFF9F9FFFFFFF9FFF9FFFFF9FFFFFFFFFFF9FFFFFFF9FFF9FFFFFFF9FFFFF9FFFFFFFFF9FFFFF9FFFFU0FBJ%;r8'9%9&@#;u:r8z8r9s9%9tJ"9" TFF9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F98F9F9F9F9F9F9F9F9U:F9FBJu9" _,F9FBJ"E" _(F9FBJ#9$;"9#:% _6FBFBF9F9F9F9F9F9F9F9F9F9Jv9#9#:$8%:# _+FBF9F9F9F9F9F9F9F9FBF9F9F9F9J&B":# _8F9F9FBFBFBFBFBFBJ"E$9">)8" _'F9F9F9FBFBFBFBFBFBF9F9FBFBFB8zJ#B":# ^";#8" _)FBFBFBFBF9FBFBFBFBJ%8$8#;&8# _7FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBJv ^IF9J# ^GF9F9J"E"9";"9"8&9% ^FF9FBF9F9F9F9F9F9F9F9F9FBF9F9Ct<$J#J%9$J":t;#="9#@" FEFEFEFEEFEFEO:FEFEFEFEFEFEFE[7F9FBF9F9F9F9F9FBC"8%:#8"J":#J"8"9$8#J#D"<"9"9$8"8"8" FBFBFBFBFBFEFEFBO*FEFEFEO$FBFBFBFEFBFEFE[6FBFBFBF9F9FBFBFBF9FBFBJ"J%J"J":";" 4FBO FEFBFEFE]+F9FBFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFBFEFEFE[,FBF#;"@'J#9":)8%;'8"8&8&J";)8$8&J$ FEFEFBFEFEFBFBFEFE:FEFBFEFEFEFBFBFEFEFBFBFBFBFBFBFEFEFBFBFEFEFBFEFBFBFEFEFEFEFBFBFBCFBFEFEFBFBFEFEFBFBFBFBFBFBFBFBFEFB[4F9F9FBF#E$8$J$F$8$:">"8"J'>$8$J" FBFBFEFEFBFBFEFEBFEFEFBFEFEFBFBFEFEFBFEFB9FBFEFEFBFEFBFEFEFBFBFEFE[FF9J%J$@#J"8#J%9,J#>"?% CFEFEFEFE"<"J#8"J'J":sI":$ FBFBFBFBFBFBFB8FEFBFBFBFBFBFEFEFEFE9FBFBFEIFBFBFBFBFBFB[(FBF9FBF9F9FBJ$9#J$8"C$8$A"8"J%?$9#8*J":"9" AFBFEFEFEFEBFBFEFEFEFBFEFEFEFEFBFEFB#B# V*FEFEFEFEFEFEFBFEFEEFEFEFEFEFEFEFEFEFEFEFEJ&J( V,FBFBFBFEFEFFEFEFBFBFBFEFEJ#9%9%9%9#<$9#;%;#9% V4FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFBFBFEFEFEFEFEFEFEFEFEFEJ5J'9, V39FEFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFE6FEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEJ&8":#=%?#@%C":# V,FEFEFEFEFBFBFBFBFEFBFBFBFBFBFEFEFEFEFBFBFBJ%?$9&:#F#J$ V,FBFBFBFBFEFEFEFBFBFEFEFEFEFEFBFB5FEFEFEJ%;"8"9%J% V8FEFEFBFBFBFEFBFBFBFBDFEFEFBFBJ%=#8#<$H" V?FEFEFBFBFEFEFEFEFBFEFEFEJ5A';'9- V84FBFEFEFEFBFEFEFBFEFEFEFEFBFBFBFEFEFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFBFEFEFBFBFBFEFEFEFBFEFEJ#;#8#8v9%9#>t8%8&9s V*FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB 8z `$FA8Z `&zz"z"z"z% 5FCX.FBF8P)FBF8P8FBF8P9FBF8FBFBFB7z 3FAI" FF9r"r" FBFAFBFF?"J#I#I#J#=#J#J#8# FFY0FDFDFDFDFDFDO:FDFDFDFDP+FDFDO#FDFDFDFDA"J# FA\KFDFD>"J#J#J# FFY1FBFBHFBFBOCFBFB@$J$9&:#9#@#8';$=#9#9%9&:#8%@'9#9#8*C$=#:#B$9&8%:%8"8#8%>&:&9$<$:%;#;#9#8&8%C$:%B% FBFAFAX;FDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFBFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFBFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD=$J&:%J#8"9&E'D'A#8"C)A&;%F&:"9'8)8*?%;":&:&8'9%E"9'A&8'@' FFFFFBX=FDFDFBFDFDFDFBFDFD:FDFBFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFBFDFDFDFBFDFDFBFDFDFDFBFDFDFDFDFBFDFDFDFBFDFDFDFDFBFDFDFDFDFDFBFBFDFDFDFDFBFBFDFDFBFBFBFBFBFDFDFBFBFDFDFDFBFDFDFDFDFDFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFDFDFDFDFBFBFDFDFDFDFBFBFDFDA$J$=&J$:$J%;$8$H$E"9"C(:&D$=$?#J&:,8$C&E$G$;#F% FBFAFAX8FDFDFBFBFBFBFDFD9FBFBFBFDFDFB4FDFBFBFBFBFDFDFDFDFBFBFBFBFBFBFDFDFBFBFBFDFDFBFBFBFDFDFDFDFBFBFBFBFBFB:FBFBFBFDFDFBFBFBFBFDFDFBFBFBFDFDFDFDFBFDFDFBFBFBFBFBFBFDFDFBFBFBFDFBFBFB<$J#J#E"8#G#J#@#;$A#J#:#J#F#9$B"8# FFFFFBXAFBFBMFBFBFBFDFDFDFDOEFBFBFDFDFDFDFDFDFDEFBFBFDFD>FDFDFBFBFDFDFDFBFDFDB$J#8"<":":%J%8%A%J%J%H%C#8" FBFAFAZ FBFBFDFBFBFBFBFBFBP!FBFBFBFBFDFDFBFBFBFBFBFBIFBFBFBFB(8$=%8&<$B%@$>"B$ FBFAFAX6FBFDFDFDFBFDFDFBFDFBFD9FBFDFDFDFBFDFDFDFDFBFBFDFBFDFD4FDFBFD8FBFDFDFBFDFDFBFDFBFDFDFBFBFDFDFDFBFDFDFDFDFDFBFDFDFDFBFDFDFBFBFDFDFBFDFDFBFBFDFDFDFBFDFDFBFDFDFBFDFDFBFDFDFBFDFDFBFDFDFDFDFDFD:$J&:%9"8#J&<"8#:"8$D"8$H"8#J&;%F&>"8$8/8$?%@&:&8"8$9%:"8#@"8$A&8(?"8$ FFFFFBX@FBFDFDFDFBFBFDFDFBFBFDFB:FBFDFDFDFBFBFDFBFBFDFDFBFBFDFDFBFBFDFB9FBFDFDFDFBFBFDFDFBFBFDFDFDFBFBFDFDFBFBFDFDFDFBFDFDFBFBFDFDFBFBFBFDFDFBFBFDFDFBFBFDFDFDFBFBFDFDFDFBFBFDFDFBFBFDFDFBFBFDFBFBFDFDFBFBFDFDFDFBFBFDFDFDFBFDFDFBFDFDFBD$J$<#;'@#8#9#:$9#9'9%9#:#;%@#9#9'8#8#8#B$:&H$9#;%:'8#9%A#:#<$<$:%;&9'8#;%C$:t8#9% FBFAFAX7FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFB9#uJ" FFFFFA[KFD:"B"JsJsJ#sJs FAFAXMFDP'FD4FBFBFDP59*9'J'9,J'9, Y4FEFEFBFBFEFE;FEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFBFEFEFBFBFEFEFEFBFEFEFBFEFEFBFEFEFEFBFBFEFEO+FEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEP%FEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEJ&A%@%B#@"=";%J"<%J"<% Y&FEFEFEFEFBFEFBFBFBFEFBFBFBFBFBFBFBFEFBFBFBO4FBFEFBFBFBP.FBFEFBFBFBJ%@&?&:#J&J&J& Y&FBFBFBFBFBFBFEFEFEFBFBFEFEFEFEFE?FBFBFEFEFEO:FBFBFEFEFEP4FBFBFEFEFEJ"8"@"8"9%J"8"J"8"J"8" Y6FBFEFBFEFBFBFBFB?FBFEO;FBFEP5FBFEJ$8#?-@%=#;#H"9%J":%J":% XJFBFEFEFEFEFBFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFEFEFEFEFEFBFBO6FEFEFEFBFBP0FEFEFEFBFBJ'B":'>5>%9'J'9,J'9, XKFBFEFEFEFEFBFEFBFEFEFEFEFB;FBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBFBFBFEFEFEFEFBFBFEFEFBFBFEFEFEFEFBO+FBFEFEFEFEFBFBFEFEFBFBFBFEFEFEFEFBP%FBFEFEFEFEFBFBFEFEFBFBFBFEFEFEFEFBJ%8#=&9%@%9%9%9%8#8#8&8%J%;#9%J%;#9% XLFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBO-FBFBFBFBFBFBFBFBFBFBP'FBFBFBFBFBFBFBFBFBFB Jr Y;FEJrJ#J# Y;FBP4FBFBP7FBFB Jz 5_=F8Jz"z"z"z 5X.FBF8P)FBF8P8FBF8P9FB J#I#J#:#8#=#=#I#J#J%9#<#J%=&8%J%9%J#:& IFEFEFEFE7FEFEFEFEFEFEFEFEFEFEFEFELFEFEIFEFEFEFEFEFEFEFET0FEFEFEFEFEFEFEFEFEFEFEFEFEP!FEFEFEFEFEFEFEFEP/FEFEFEFEFEFEFEJ#J#J'J'>+J.J#>$ O&:&D$B#;$8$A$E$I$9&B"<"J$ 9FEFEFBFBFBFEFEFBFBFB5FEFEFEFEFEFEFBFBFBFEFEFBFBFBFBFBFBFBFBFBFEFEFEFEFBFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBVHFEFEFBJ#9$B#F$A#<%J#J$D#J#J#J$J# =FBFBFEFEFEFBFBFEFEFEFEFEFBFBFBFB#J# AFEFEFBFB=FEFEFBFBFBFBFBFBDFBFBFBFBFEFEFBFBFBFBFBFBFBFBDFBFBFBFB">$=$A"="9%F&:&<%J";"8";%J"9%@&D"8"J%9#8%9%J'8%J#:% 9FBFEFEFEFBFEFEFEFBFEFEFEFEFBFEFEFBFEFEFBFEFBFEFEFBFEFEFBFEFE6FEFBFBFEFBFEFE@FEFEFBFEFEFEFBFEFEFBFBFBT3FBFBFBFBFBFBFBFBFBFBFBFBFBFBP FBFBFBFBFBFBFBFBFBFBP/FBFBFBFBFBFBJ&8(<&8"8#>/8$G%;%:"8$C.?"8$J'8$@% :FBFEFEFEFBFBFEFEFEFBFEFEFBFEFEFEFBFBFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFBFEFEFEFEFEFBFBFEFEFEFBFEFEFBFEFEFB=FBFEFEFBFBFBFEFEFBFBFEFEFBJ$:t:$:'8#9'8#9%9#:#8#:&:&9%9#9#8r8'@%9#B#8#9#9#9%9#=#:$8$;# ;FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFEFEFEFEFBFBFBJ$ Q/FEFEFBJ"JsJ' Q.FE4FEKFBFEFEFEFEFBJ$HsJ#?% Q.FBFBFBFBAFBFBFBFBFBFB Jz 5_=F8Jz"z"z"z 5X.FBF8P)FBF8P8FBF8P9FB J#J#F#9&@#@#8#;#J#8#;#J#<#J#I#J#:#8#=#=#I#J#J#J#:%<'J#:&8%J&8% =FEFEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEAFEFEFEFEFEFEHFEFEFEFEO=FEFEFEFE7FEFEFEFEFEFEFEFEFEFEFEFEO FEFE:FEFEO.FEFEFEFEFEFEFEFEFEFEFEFEOLFEFEFEFEFEFEFEFEFEFEFEP*FEFEFEFEFEFEFEFEFEJ#=%J"J"F#J#J#J#J#;';%J#>+J+ OCFEFEFEFEFBFB>FEMFEFEFEQ(FEFEP.FEFE7FEFEO1FEFEFEFEFBFBFEFEFBFBFBFBOLFEFEFBFBFBFBFEFEFBFBFEFEP+FBFBFBFBFEFEFBFBFEFEJ"8"E#<#@#J#J#J#J#I$J#;$J$ O5FEFEFBFBFBFBFBFBS4FBFBOEFBFB%9#9#8&8%?#>%8"8%8#8#9$:&;#A%:%9-:%9&A$:%?$9#9#=%8"8#8%C#:#=#<%9'B%8#:#8%9&G':%8"8):#8%J'J$J$ BFEFEFEFEFEFEFEFEFEFEFEFEFBFBFEFEFBFEFEFEFEFEFBFEFEFBFEFEFBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFBFEFEFBFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFEFEFEFEFBFEFEFEFEFEFEFEFEFEFEFBFEFEFBFEFEFEFEFEFEFEFEO$FBFEFEFEFEFBP0FEFEFEP2FEFEFEJ'@'A":";"8"8#:"8"<&<'@"<'C"9'@"<)8#B&;"<$@'8':";#8"8':"B&8'=&E)8*G%;%:':#8"@'@':"J#8"8)8#C'J'=$J'J' AFEFEFBFBFEFEFEFEFBFBFEFEFEFEFEFBFBFBFBFBFEFEFBFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFEFEFEFBFBFEFEFBFBFBFBFEFEFBFEFEFEFEFEFBFEFEFBFBFEFEFEFEFBFBFEFEFEFEFBFEFEFEFBFBFEFEFEFEFEFBFEFEFEFEFBFBFEFEFEFEFBFEFEFEFEFBFBFEFEFBFBFBFBFBFEFEFBFBFEFEFEFEFBFEFEFEFBFEFEFEFBFBFEFEFEFBFEFEFEFBFBFEFEFEFEFBFBFEFEFE5FEFBFEFEFEFBFBFEFEFBFBFBFBFEFEFBFBFEFEO#FEFEFBFBFEFEFEFEFBP$FBFBFBFBFEFEP/FBFBFBFBFEFEJ#;$8'J$H$?#C"J'C"J(:$9$I#>$9$D$?$;#@$H#J%>&:&D$B#;$8$A$I$:#D$8$ AFBFBFBFEFEFEFEFBFBFBFB:FBFBFBFEFEFBFBFBFB:FBFBFBFBFBFBFB>FEFEFBFBFBFEFEFBFBFBFEFEFBFBFBFBFBFBFBFBFBFBFBFBFEFEFBFBFBFEFEFBFBFB5FEFEFEFEFEFEFBFBFBFEFEFBFBFBFBFBFBFBFBFBFEFEFEFEFBFBFBFBFBFBFBFBFBFBFEFEFEFEFBJ$C$B$8$J#=$C"=#J$C"=#>$:$J#;$J#J#9$B#F$A#<%J#J$D#J$J#J#J# BFEFEFEFEFEFEFEFEFBFBFEFE=FBFBFEFEFEFEFEFE4FEFEFEFEFEFEFBFEFEFEFEFBBFEFEFEFEFE5FEFE6FBFBFEFEFEFBFBFEFEFEFEFEFBFBFBFB%G%B">%J$C%8%J%J%J%A%J%I%:":":%J%C":":%J#8$ 8FEFEFEFEFBFBFBFBFEFEFBFBFEFEFEFEGFEFEFBFBFBFBFBFBFBFEFEFBFBFBFBFBFBFBBFBFEFEFBFBFBFBFEFEFBFB5FBFBFBFB8FEFEFBFB=FEFEFBFBFBFBFBFBDFBFBFBFBFEFEFBFBFBFBFBFBFBFBAFEFEFBFBFBFBFBFBFBFBO+FEFEFEFEFBJ#J%J#J#J#G)J#H#J#J#J'J.J. KFEFE6FBFBFBFB?FEFE7FBFELFBFEFBFEFEFBFBFEFEFBOLFEFEFEFEP+FEFEO0FEFEO-FBFEFEFEFEFBP.FBFEFEFEFEFBFBFBFEFEFEFEFBP(FBFEFEFEFEFBFBFBFEFEFEFEFBJ$=";"8"<"A$:$@"C$B"J%:$C"J%;"A(A$B%;"J%F$>">$=$A"="9%F&:&<%J";"8";%J"="<"8";%J#:%9#8#J#:%9%J%9% :FEFBFEFEFBFBFEFEFEFBFBFEFEFEFBFEFEFE5FEFBFEFEFEFBFEFE5FEFBFEFEFEFBFEFEFBFEFEFBFBFEFEFEFBFEFEFE5FEFBFEFEFBFEFEFEFBFEFEFEFBFEFEFEFEFBFEFEFBFEFEFBFEFBFEFEFBFEFEFBFEFE6FEFBFBFEFBFEFEDFEFEFBFBFEFBFEFELFBFBFBFBFBFBFBFBFBFBP!FBFBFBFBFBFBFBFBFBFBP*FBFBFBFBFBFBFBFBJ"8"8"8(?(J%D&<(A":"8$8"8#@(A":"8$8%B&I(8$8(F"8$G&8(<&8"8#>/8$G%;%:"8$C.?"8$J-C"8$ 8FBFEFBFBFEFEFEFBFEFEFBFEFEFEFBFEFE9FBFEFEFBFBFEFEFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFEFBFEFEFEFEFEFBFBFEFEFBFBFEFEFEFBFEFEFBFEFEFBFBFEFEFEFBFBFEFEFEFBFEFEFBFEFEFEFBFBFEFBFBFEFEFEFBFEFEFBFBFEFEFBFBFBFEFEFBFBFEFEFBFBFEFEFBFBFEFEFBFEFEFEFEFEFBFBFEFEFEFBFEFEFBFEFEFBAFBFEFEFEFBFEFEFBFBFEFEFBFBFEFEFBJ&:'9#;'>#<&;#8#8#8#:$9#9t8#;#9%:'8#;t8#;#9%:#9#8#;$:#:#8#8r8%:t:#9#9%9#D$:t:$:'8#9'8#9%9#:#8#:&:&9%9#9#8r8'@%9#D#:#9#9'8#8#:#;% 9FBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBJ$ W FEFEFBJsJsJ"Js O*FER=FEPDFE4FEJsJsJ$Hs O*FBR=FBPDFBFBFBFB ;v;z" FA_=F8FB:"Fz FA_=FB9z /FB9Z /9"C" FBFA$ FBFFFAB" FB?" FBA" FB9Z /8" FF7z 3FCJz 5_AFC7z" `&FAFCJ# `&FFFC9y#Z$x" FBFFFB_0FBFFFFFBFFE$J"9# FFFFFA_0FAFFFFC%:z"<# FFFFFFFA_,FBFAFFFFA#8"J#8# FFFFFB_6FBFBFFFF?#8#J#8# FFFFFBFB_9FBFBFFFF=#8#J#8# FFFFFBFB_=FBFBFFFF;#8#J#8# FFFFFBFB_AFBFBFFFF9'J& FAFAFAFAFBFB_EFBFAFAFAFA9#8#J"9" FBFBFAFA_EFAFB;#8#J#8# FBFBFAFA_AFAFAFBFB=#8#J#8# FBFBFAFA_=FAFAFBFB?#8#J#8# FBFBFAFA_9FAFAFBFBA#8"J#8# FBFBFA_6FAFAFBFBC#