ࡱ; \  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry  &()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ !r\V)䰱 PresentationStarImpress 5.0rp0Object 1 -)䰱<Vp0Object 2 -)䰱pTC0#oKSfxDocumentInfo Florian Liekweg N11kFlorian Liekweg X11̂dFlorian Liekweg O11\>F+Static Garbage Collection via Heap Analysis Info 0 Info 1 Info 2 Info 3 Pastel5file:///home/calvin/office52/user/template/Pastel.vorN11kY<44Standard LIBIMBEDDED LIBIMBEDDED TASK,0,1,H 1,0,100,1,SBX sb Z Standard StarBASICSBX AR.XOutdevItemPool 1   )     &'()*+,-./06789:;UVWXYZ[\]c !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefd+0,'(@w"XXX'N@hXX,' F@2XXXX&X.'=@p SchwarzXX '@Arrow ArrowddXXXS'@ArrowddlineendXXX_':@,PXXXX&':@J,P}XXXX&'@zXX'@X@X@X@X@X@7X@UX@sX'(@ "XXX' @ ̙̙33ff̙ff 33  XX X2XDXVXhXzXXXXX'@ 22ddffuuuuuuddddff>>}}dddd33uu 22ddff̌ ddddXX6X^XX'(@ X':@- BMvv(@@SD@x^SI 0 s\ z 46ZBn8x)1̔.<觔B+̄ ޢ40:prf |q]~+H~|WFMbP@aoCē[ȡz6~U{߃XFXNXVX^XfXnXvX~XXXXXKK@ XX(L @/MM@MXNN@oXOO@XPP@XQQ(@XXXRR @SS @XTT @9UU@Y XXVV2@XXXX WW @XX @YY @ZZ @[[ @ \\ @#]] @9^^ @O__ @e`` @{aa @bb @cc @dd @ee @gg@Xhh@'Xii@IXjj@kXkk@Xll@Xmm@Xnn@Xoo @ pp @!qq @7rr @Mss @ctt @yuu @vv @ww @xx @yy @|| @}} @ @)@EX@eX@X@X@X@dX@X@&X@FX @` @v @ @ @ @''''' ''''' ' ' '  '''  ''''''' '''''''''' '''''''''' ''''''''''''XXX,X2X8XDXPX\XXXXXXXXXXXXXXXX:XXX$X*'x@#d ''''''''''''''' '' ''      '' '''''''''' '''''''''''' '''''' ''!''    "'' #''$'XXX,X8XDXVXhXzXXXXXX.X@XRXdXjX|XXXXXXXXXXX6XHXZXXX**@`!9     XXXX X&X,X2X8X>XDXJXPXVX\Xb77V@"  ,,,,,,+;(,,--..//  ,, ,,  ,, ,, +;(,,--..//XXXX X&X2X>XJXnXtXzXXXXXXXXXXXXHH>@#+'' +'   ' ' +'!'''' !''''1''''XXXX X&X,X>XDXJXVX\XbXnXzXXXXXXffF^@++ JJKKMMNNOOPPQQUUVVJJ JJKKJJKK%QQVVIIQQVV JJKKMMNNOOPPQQUUVV JJKKMMNNOOPPQQUUVV JJKKMMNNOOPPQQUUVV  JJKKMMNNOOPPQQUUVV  JJKKMMNNOOPPQQUUVV IIQQVV   JJKKMMNNOOPPQQUUVV JJKKMMNNOOPPQQUUVV JJKKMMNNOOPPQQUUVV JJ KKMMNNOOPPQQUUVV JJKKMMNNOOPPQQUUVVJJ)KKIIQQVVJJ  JJKKMMNNOOPPQQUUVVJJKKQQJJKK JJKKMMNNOOPPQQUUVVJJKK JJ KKMMNNOOPPQQUUVVJJKKJJKKQQVVJJ KK!" JJ KKMMNNOOPPQQUUVV# JJ KKMMNNOOPPQQUUVV$ JJ KKMMNNOOPPQQUUVV% JJKKMMNNOOPPQQUUVV& JJKKMMNNOOPPQQUUVV' JJKKMMNNOOPPQQUUVV( JJKKMMNNOOPPQQUUVV) JJKKMMNNOOPPQQUUVV*JJKK+JJKK-JJKKSSUUVVXXJXVXhXzXXXXXXXXXXX*XfXXXX,XDXPXVXXXXX XFXXXvXXXXXBX~XXX2XnXXzzD@+gghhiijjkkllmmnnX @, @.,J@, XB7A`6jz > ] }  " A a  6 T t  , B X n   4 J ` v "P~4Rp2Tv ^t$:Pf| .Pr "8Ndz(Hh 5Kaw+[!q(((( P.v[EditEngineItemPool /6fU0Ag*+hB@q Z,StarBats 33ff:,StarBats d ,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats dZ "X,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ",StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - Z",StarBats 33ffK,StarBats 33ffK" ,StarBats 33ffK,StarBats 33ffP",StarBats 33ffA",StarBats $$A",StarBats ffffA",StarBats A",StarBats AZ ZS,StarBats d"H,StarBats P,StarBats dg ,StarBats d],StarBats dS,StarBats dS,StarBats dddS,StarBats dddS,StarBats dddS,StarBats dddZ Z,StarBats d,StarBats d ,StarBats d,StarBats d,StarBats d,StarBats ddd,StarBats ddd,StarBats ddd,StarBats ddd,StarBats dddZ Z,StarBats 33ffd,StarBats 33ffd ,StarBats 33ffd,StarBats 33ffd,StarBats 33ffd,StarBats d,StarBats 33ffd,StarBats d,StarBats d,StarBats dZZ,StarBats ffffdZ Z"S,StarBats 33ffA"H,StarBats 33ffK,StarBats 33ffK"g ,StarBats 33ffK],StarBats 33ffP"S,StarBats 33ffA"S,StarBats ddA"S,StarBats ddA"S,StarBats ddA"S,StarBats ddAZ  Z,StarBats d,StarBats d ,StarBats d,StarBats d,StarBats d,StarBats ddd,StarBats ddd,StarBats ddd,StarBats ddd,StarBats dddZ  Z,StarBats l,StarBats d ,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats dZ Z,StarBats dZ  Z dH,starbats 33ffK,starbats 33ffKg ,starbats 33ffK],starbats 33ffKS,starbats 33ffKS,starbats ddKS,starbats ddKS,starbats ddKS,starbats ddKZ  Z,StarBats d,StarBats d ,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats dZ Z",StarBats 33ff%,StarBats 33ffK" ,StarBats 33ffK,StarBats 33ffP",StarBats 33ffA",StarBats 33ffA",StarBats 33ffA",StarBats 33ffA",StarBats 33ffAZ Z,StarBats S,StarBats d ,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats dZ  Z,StarBats K,StarBats d ,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats dZ Z,StarBats :,StarBats d ,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats d,StarBats dZXX.XNXn X(XHXhXXX2!XR%Xr)X)X-X 2X5X9X> @Lr@nr;@XX!)@Wt FddddddxdddGdddx6xdddxY FdddddDd Fddd Fddd ddDd FdddddDd dddY ddd YDdddYDdddYDdddYD8ddd8YDXdddXYDxdddxYD!ddd!YDXX!X4XGXZXsXXXXXXXXX*XCX\XuXXX<( n@ t)2"  XXXX X&X,X2X8X>XD (*y@>{ StarBats!"- StarBats!dffff StarBats!d33ff StarBats!d StarBats!d#33ff StarBats!"K 33ff StarBats!K33ff StarBats{!"K33ff StarBats{!P 33ff StarBats{!"A dd StarBats{!"A  StarBats!S  StarBats!d 33ff starbats!K33ff starbats!K33ff starbats{!K StarBats!d StarBats!"P 33ff StarBats!K  StarBats!K StarBats!:33ff StarBats!"K StarBats{!d StarBats{!d33ff StarBats!:dd StarBats{!ddd starbats{!KXXGXXXX+XdXXXXHXXXX,XeXXXXIXXXX-XfXX@')?@}dddddXddddGdddddHd5dddY ddHd ddd ddHd ddHd ddddddg dddg ]ddd]SdddSdddddddddYHdddYg dddg Y]ddd]YSdddSY dddXX!X4XGXZXmXXXXXXXX XX1XDXWXpXXXXA'@k~dddddddd dddd dd dd *ddXXX&X2X>XJXVXb1'7@~dOd ZXXX$+'2@~c XXXX '@ . . . . '. 1. ;. tE. `O. LY. 8c. $m.  3. . . #. -. 7. A. K. U. _. ki.  . . . . ). x3. d=. PG. . G. Q. [.  q. ]. I. 5%. !/. 9. B. L. V. XXgXX XVX!'z@{V33ffffff333333XXX&X2X>XJXV' @ [FArialBoldArialArialBoldF StarmathArial!ArialTimes New Roman@ Courier (CE) 'CourierXX"X2XFXYXiXyXX'@+ Od  Nd P4d d  d R{d bd d d d id d d $d d XXX"X,X6X@XJXTX^XhXrX|XXX?( @}'%@K XXX'@ɃWX'@WX'@  XX'@/&X'@STXX%' @Wd:XXS' @"' @' @Ʉ@VX@X{( 0@9ppN11XXBBBDqEKANNOXO]QQRSSST8T`TTTTTTU3UQUPPg* "XX,StarBatsN -",StarBatsN -",StarBatsN -"` ` ,StarBatsN -" ,StarBatsN -",StarBatsN -"hh,StarBatsN -",StarBatsN -",StarBatsN -"pp,StarBatsN - ( StarBats!"-!''Times'Od 08s!2  =|StandardStandard%'''''''''''''''+;(,,--..g* (@'A'1'+''!'''''''''%'Object with arrowStandardObject with arrow'''''''Object with shadowStandardObject with shadow+;(,,--..Object without fillStandardObject without fill'TextStandardText'' Text bodyStandard Text body'''Text body justfiedStandardText body justfied''+'First line indentStandardFirst line indent''g*@'TitleStandardTitle'''Title1StandardTitle1 '''+;(,,--..+''Title2StandardTitle2 ''+;(,,--..g*@'A'+''HeadingStandardHeading''A''Heading1StandardHeading1''A'''Heading2StandardHeading2''A''''Dimension LineStandardDimension Line'''''''Slide~LT~Gliederung 1Slide~LT~Gliederung 1''g*@' A'1'+''!''' ''''''%'Slide~LT~Gliederung 2Slide~LT~Gliederung 1Slide~LT~Gliederung 2@'A' 1'+''!''''''''%'Slide~LT~Gliederung 3Slide~LT~Gliederung 2Slide~LT~Gliederung 3@'A' 1'+''!''''''''%'Slide~LT~Gliederung 4Slide~LT~Gliederung 3Slide~LT~Gliederung 4@'A' 1'+''!''''''''%'Slide~LT~Gliederung 5Slide~LT~Gliederung 4Slide~LT~Gliederung 5@'A' 1'+''!''''''''%'Slide~LT~Gliederung 6Slide~LT~Gliederung 5Slide~LT~Gliederung 6@'A' 1'+''!''''''''%'Slide~LT~Gliederung 7Slide~LT~Gliederung 6Slide~LT~Gliederung 7@'A' 1'+''!''''''''%'Slide~LT~Gliederung 8Slide~LT~Gliederung 7Slide~LT~Gliederung 8@'A' 1'+''!''''''''%'Slide~LT~Gliederung 9Slide~LT~Gliederung 8Slide~LT~Gliederung 9@'A' 1'+''!''''''''%'Slide~LT~TitelSlide~LT~Titel''QQg*@'A'1'+''!'''''''''%'Slide~LT~UntertitelSlide~LT~Untertitel''QQg*@'A'1'+''!''' ''''''%'Slide~LT~NotizenSlide~LT~Notizen''g*@'A' 1'+''!'''''''''%'Slide~LT~HintergrundobjekteSlide~LT~Hintergrundobjekte+;(,,--..Slide~LT~HintergrundSlide~LT~Hintergrund4'''''''''          +;(,,--..//00112233445566TitleTitle@SubtitleSubtitle@Background objectsBackground objects@ Background Background@NotesNotes@ Outline 1 Outline 1@ Outline 2 Outline 1 Outline 2@ Outline 3 Outline 2 Outline 3@ Outline 4 Outline 3 Outline 4@ Outline 5 Outline 4 Outline 5@ Outline 6 Outline 5 Outline 6@ Outline 7 Outline 6 Outline 7@ Outline 8 Outline 7 Outline 8@ Outline 9 Outline 8 Outline 9@Title~LT~Gliederung 1Title~LT~Gliederung 1''g* @' A'1'+''!''' ''''''%'Title~LT~Gliederung 2Title~LT~Gliederung 1Title~LT~Gliederung 2@'A' 1'+''!''''''''%'Title~LT~Gliederung 3Title~LT~Gliederung 2Title~LT~Gliederung 3@'A' 1'+''!''''''''%'Title~LT~Gliederung 4Title~LT~Gliederung 3Title~LT~Gliederung 4@'A' 1'+''!''''''''%'Title~LT~Gliederung 5Title~LT~Gliederung 4Title~LT~Gliederung 5@'A' 1'+''!''''''''%'Title~LT~Gliederung 6Title~LT~Gliederung 5Title~LT~Gliederung 6@'A' 1'+''!''''''''%'Title~LT~Gliederung 7Title~LT~Gliederung 6Title~LT~Gliederung 7@'A' 1'+''!''''''''%'Title~LT~Gliederung 8Title~LT~Gliederung 7Title~LT~Gliederung 8@'A' 1'+''!''''''''%'Title~LT~Gliederung 9Title~LT~Gliederung 8Title~LT~Gliederung 9@'A' 1'+''!''''''''%'Title~LT~TitelTitle~LT~Titel''QQg*@'A'1'+''!'''''''''%'Title~LT~UntertitelTitle~LT~Untertitel''QQg*@'A'1'+''!''' ''''''%'Title~LT~NotizenTitle~LT~Notizen''g* @'A' 1'+''!'''''''''%'Title~LT~HintergrundobjekteTitle~LT~Hintergrundobjekte+;(,,--..Title~LT~HintergrundTitle~LT~Hintergrund4'''''''''          +;(,,--..//00112233445566Home~LT~Gliederung 1Home~LT~Gliederung 1''g*@' A'1'+''!''' ''''''%' Home~LT~Titel Home~LT~Titel''QQg* @'A'1'+''!''' ''''''%'Home~LT~NotizenHome~LT~Notizen''g* @'A' 1'+''!'''''''''%'Home~LT~HintergrundHome~LT~Hintergrund4'''''''''          +;(,,--..//00112233445566(\P\D^q" 5 H XV4g3f|-@N>SBX AR SBX AR2c%bqqOh+'0< h t 149@Ev@!E@OL@qCDFlorian LiekwegFlorian LiekwegPastel,Static Garbage Collection via Heap Analysis  -)䰱OutPlace ObjectOutPlace ObjDrMd JoeMn0N11ҨX11̂dX11ODrLy LAYER_LAYOUTDrLy LAYER_BCKGRNDDrLy LAYER_BACKGRNDOBJDrLyLAYER_CONTROLSDrLy!LAYER_MEASURELINESDrMP'JoeMjJ8cDrML DrOb<SVDr&qz! %DrOb<SVDr&(B %DrOb<SVDr&q+>z!QDrOb<SVDr&(+>BQDrXXSlidegg gSlide~LT~GliederungDrMP)JoeM8cjJDrML DrObSVDr&8cjJ(  Slide~LT~Hintergrund8cjJDrOb;SVDr&"jJDrObuSVDr&EjJStandardEjJDrObuSVDr&q" Standardq" DrXXDrObuSVDr&EE?StandardEE?DrObSVDr& D`"Slide~LT~Titel D`qxV4B1\#Click to edit the title text formatSlide~LT~Titel<( (@'DrOb[SVDr& `&B)Slide~LT~Gliederung 1 `&B xV4B1 %Click to edit the outline text formatSlide~LT~Gliederung 1<( (@'Second Outline LevelSlide~LT~Gliederung 2<( (@'Third Outline LevelSlide~LT~Gliederung 3<( (@'Fourth Outline LevelSlide~LT~Gliederung 4<( (@'Fifth Outline LevelSlide~LT~Gliederung 5<( ( @'Sixth Outline LevelSlide~LT~Gliederung 6<( ( @'Seventh Outline LevelSlide~LT~Gliederung 7<( ( @'Eighth Outline LevelSlide~LT~Gliederung 8<( ( @'Ninth Outline LevelSlide~LT~Gliederung 9<(  (  DrObSVDr&DsE`HStandardDsE`HkxV4B1VStandardg*<( (@'+'DrOb SVDr& sEDH Standard sEDHxV4B1<Florian Liekweg: Static Garbage Collection via Heap AnalysisStandardg*<( (@'<DrObSVDr&C I StandardC IuxV4B1`Standardg* <( (@'DrObiSVDr&{R3{DrObuSVDr&R  StandardRDrObSVDr&{ StandardKL2.vugZL>0# mXD/&  ")2;CLU^hqz}}$}0{:}H}R}]it!*4;DNU_ fmt&|/DXm #0>LZguDrXXDrObSVDr&&   Standard&  -NAT5 PNG  IHDRbaP_3&tEXt Imported from GIF imageuni-logo.gif W PLTE@@M1tRNS@*bKGDH cmPPJCmp0712Om)IDATH1n0 PfMGo+x!:EG_-GHjZ%H /Y2靍ٕ;܊Z[#HH]#q"RQ6,%++R >B qQ3:e4I+SFL.ȡdd2A?E(Cw f/%fZQ$35rr-(%흡Q|G^b7-ɆL"M>*.e#l˄5l5C`'d ̗yLEu(2,"Slide~LT~Titelg q>,exV4B1PClick to move the slideSlide~LT~Titel<( (@'DrObSVDr& !/~@[$  Slide~LT~Notizen !/~@[nxV4B1YClick to edit the notes formatSlide~LT~Notizen<( (@'DrXXSlidegg WSlide~LT~GliederungDrMP JoeM8cjJDrML DrObSVDr&8cjJ(  Title~LT~Hintergrund8cjJDrObuSVDr&1jJStandard1jJDrObuSVDr&q ?kStandardq ?kDrObiSVDr&i'5T\83i'5DrObuSVDr&i'5Y8  Standardi'5Y8DrObSVDr&Y5T\8 StandardQ&Q&2.vZ5Z5Z5[5[5[5![5*[53[5<[5E[5L[ 5U["5][&5f[*5o[.5w[15[:5[C5[N5[[5[g5[s5[5[5[5[5[5[5\5\5 \5\5\5\5 \5$\5(\5,\50\ 63\68\6;\(6>\16@\=6D\F6E\Q6H\\6J\e6M\q6N\{6P\6Q\6Q\6S\6S\6S\6T\6S\6S\6S\6Q\6Q\7P\7N\7M\#7J\.7H\87E\C7D\N7@\W7>\b7;\k78\v73\70\7,\7(\7$\7 \7\7\7\7 \7\7\7[7[7[7[8[ 8[8[ 8[-8[88[E8[P8[Z8w[c8o[f8f[j8][n8U[r8L[s8E[w8<[y83[|8*[~8![8[8[8[8Z8Z8Z8Y8Y5Z5DrXXDrObSVDr&* x^"  Title~LT~Titel* x^qxV4B1\#Click to edit the title text formatTitle~LT~Titel<( (@'DrObaSVDr&2\3) Title~LT~Gliederung 12\3 xV4B1 %Click to edit the outline text formatTitle~LT~Gliederung 1<( ( @'Second Outline LevelTitle~LT~Gliederung 2<( (@'Third Outline LevelTitle~LT~Gliederung 3<( (@'Fourth Outline LevelTitle~LT~Gliederung 4<( (@'Fifth Outline LevelTitle~LT~Gliederung 5<( (@'Sixth Outline LevelTitle~LT~Gliederung 6<( (@'Seventh Outline LevelTitle~LT~Gliederung 7<( (@'Eighth Outline LevelTitle~LT~Gliederung 8<( (@'Ninth Outline LevelTitle~LT~Gliederung 9<(  (@' DrObSVDr&'   Standard'  -NAT5 PNG  IHDRbaP_3&tEXt Imported from GIF imageuni-logo.gif W PLTE@@M1tRNS@*bKGDH cmPPJCmp0712Om)IDATH1n0 PfMGo+x!:EG_-GHjZ%H /Y2靍ٕ;܊Z[#HH]#q"RQ6,%++R >B qQ3:e4I+SFL.ȡdd2A?E(Cw f/%fZQ$35rr-(%흡Q|G^b7-ɆL"M>*.e#l˄5l5C`'d ̗yLEu(2,DrObSVDr& !/~@[$Title~LT~Notizen !/~@[bxV4B1MClick to add notesTitle~LT~Notizen<( ( @'DrXXTitelgg WTitle~LT~GliederungDrPg yJoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel D`gxV4B1RStatic Garbage CollectionSlide~LT~Titel<( (@'DrOb4SVDr& `'B)Slide~LT~Gliederung 1 `'BxV4B1Work in Progress ReportSlide~LT~Gliederung 1 <( (@' Static Garbage Collection:Slide~LT~Gliederung 1 <( (@' ;Static handling of originally dynamically allocated ObjectsSlide~LT~Gliederung 2<( (@'Reduce Overhead of Runtime GCSlide~LT~Gliederung 2<( (@'2Important for: Embedded Systems, Real-Time SystemsSlide~LT~Gliederung 2<( (@'2 %&&2 Approach:Slide~LT~Gliederung 1 <( (@' #Simulate GC on PointsTo InformationSlide~LT~Gliederung 2<( (@'DrXX! SGC Introgg SSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX! SGC Introgg WSlide~LT~GliederungDrPgJoeM8cjJDrML8DrMD,DrObSVDr& `-" Slide~LT~Titelu `-VxV4B1ASather/KSlide~LT~Titel<( (@'DrObSVDr& `'C)Slide~LT~Gliederung 1[ `'C<xV4B1Sather/K, the languageSlide~LT~Gliederung 1 <( (@' A'1'Runtime ResultsSlide~LT~Gliederung 1 <( (@' A'1' EDG (Extended Dependeny Graph): Slide~LT~Gliederung 1 <( (@' A'1' SSA-based IRSlide~LT~Gliederung 2<( (@' Optimisations by Graph RewritingSlide~LT~Gliederung 2<( (@'PointsTo AnalysisSlide~LT~Gliederung 1 <( (@' A'1'DrXX Overviewgg SSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX Overviewgg WSlide~LT~GliederungDrPgJoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel~ D`_xV4B1JSather/K CompilerSlide~LT~Titel<( (@'DrObSVDr& `'B)Slide~LT~Gliederung 1z `'B[xV4B1:HistorySlide~LT~Gliederung 1<( (@' Sather/KSlide~LT~Gliederung 1<( (@' DSupports multiple inheritance, mixin inheritance, bounded genericitySlide~LT~Gliederung 2<( (@' Runtime Garbage CollectionSlide~LT~Gliederung 2<( (@' Used in Education at UKASlide~LT~Gliederung 2<( (@' Compiler ApproachSlide~LT~Gliederung 1<( (@' Whole Program OptimisationSlide~LT~Gliederung 2<( (@' DrXX)Sather/K Compilergg SSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX)Sather/K Compilergg WSlide~LT~GliederungDrPg&Y&JoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel| D`]xV4B1HBenchmark (1/2)Slide~LT~Titel<( (@'DrObSVDr&* ,DrObuSVDr&* ,Standard7 )DrObSVDr&~ )L  "Standard~ )L xV4B1uIteratorStandard g*<( ( @'+'!''''DrXXDrObSVDr&* ODrObuSVDr&* OStandard7 BDrObSVDr&7 ZC #Standard7 ZCxV4B1p main(...)Standard g*<( (@'!''''  DrXXDrObSVDr&H!$5'DrObSVDr&H!$5 DrObSVDr&H!$5!Standard?BB>b5b!$!$-3 5b5DrObSVDr &| !$5!Standard?Bfb $!$-3 5 5g!-3g!-3g!3#-3$-3$!DrXXDrObSVDr&b!}$5 $Standardb!}$5uxV4B1T"Vector u = new VectorArray();Standard g*<( (@'!''''"""Vector v = new VectorArray();Standard g*<( (@'!''''""int res;Standard g*<( (@'!''''u.init (1000); v.init (1000);Standard g*<( (@'!''''#for (int i = 0; i < 100 000; i++) {Standard g*<( (@'!''''### res = u.times(v);Standard g*<( (@'!''''}Standard g*<( (@'!''''DrXXDrObSVDr&B"Standard'It!DrObSVDr&]*O>'DrObuSVDr&]*O>Standardj*B>DrObSVDr&,; "Standard,;xV4B1v VectorStandard g*<( ( @'+'!''''  DrXXDrObSVDr&]*sO>l'DrObuSVDr&]*O>Standardj*B>DrObSVDr&j*st= %Standardj*st=gxV4B1Ninit(int size)Standard g*<( (@'!''''VecIter iter()Standard g*<( (@'!''''T times(Vector)Standard g*<( (@'!''''DrXXDrObSVDr&(%#?$*'DrObuSVDr&(%#?$*Standard(!%?*DrObSVDr&)!%>* "Standard)!%>*xV4B1{VectorArrayStandard g*<( ( @'+'!''''DrXXDrObSVDr&( *#?F.'DrObuSVDr&( *#?F.Standard(*?9.DrObSVDr&(*8:. &Standard(*8:.xV4B1uVecIter iter()Standard g*<( (@'!''''DrXXDrObSVDr&2D5qStandard20,3*5W2W3DrObSVDr&3%4S%Standard1<"6="3!%3WDrCn$DrCn$ ;(#xiIDrObSVDr&NG]'DrObuSVDr&NG]Standard[G]DrObSVDr&JbZ "StandardJbZxV4B1w VecIterStandard g*<( ( @'+'!''''  DrXXDrOb0SVDr&NG]B'DrObuSVDr&NG]BStandard[G]5DrObjSVDr&[G]6 'Standard[G]6xV4B1boolean hasNext()Standard g*<( (@'!''''T next()Standard g*<( (@'!''''DrXXDrObSVDr&-QSStandardGQ50,R5SGQR5DrObSVDr&RRRR%StandardbN V R %RDrCn#DrCn$ ;(#xiIDrObSVDr&[7oyHStandard'y8[GDrObSVDr&5t+yH-Standard'6,[G,DrObSVDr&NG%]$*'DrObuSVDr&NG%]$*Standard[G!%]*DrObSVDr&TG!%]* "StandardTG!%]*xV4B1|VecArrayIterStandard g*<( ( @'+'!''''DrXXDrOb0SVDr&NG *]0'DrObuSVDr&NG *]0Standard[G*]0DrObjSVDr&[G*]0 (Standard[G*]0xV4B1boolean hasNext()Standard g*<( (@'!''''T next()Standard g*<( (@'!''''DrXXDrObSVDr&;3 \zE'DrObSVDr&;3 \zEp wDrObSVDr&;3 \zE!Standard16B>;`E;/3\/3\CW`E;`EDrObSVDr &W3 \zE!Standard16fb \/3\CW`EW`EXCXCXC5[C\C\/3DrXXDrObSVDr&;/3[aE )Standardu;/3[aEVxV4B15T res;Standard g*<( (@'!''''VecIter i1, i2; Standard g*<( (@'!''''i1 = iter(); i2 = v.iter();Standard g*<( (@'!''''for (res = 0; i1.hasNext(); ) {Standard g*<( (@'!''''& res = res + i1.next() * i2.next();Standard g*<( (@'!''''&&&}Standard g*<( (@'!'''' return res;Standard g*<( (@'!''''  DrXXDrObSVDr&==~Ea3Standard'o=E/3DrXX'Benchmark (1/2)gg OSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>, DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX'Benchmark (1/2)gg WSlide~LT~GliederungDrPgJoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel| D`]xV4B1HBenchmark (2/2)Slide~LT~Titel<( (@'DrObSVDr RAc]SDUDQ "Standard RAObject 2DrOb.SVDr& >-`E(#  +Home~LT~Gliederung 1 >-`ExV4B1HIterations per second for the Iterator Benchmark from OOPACK benchmarks.Slide~LT~Gliederung 1<( (@'H&DrObSVDr&C;Q -StandardvC;QWxV4B1BDate: Fall 1999Standard<( (@'DrXX'Benchmark (2/2)gg OSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>, DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX'Benchmark (2/2)gg WSlide~LT~GliederungDrPgJoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel D`dxV4B1OEDG based OptimisationSlide~LT~Titel<( (@'DrObSVDr& `'B)Slide~LT~Gliederung 1J `'B+xV4B1 InliningSlide~LT~Gliederung 1<( (@' DevirtualisationSlide~LT~Gliederung 1<( (@' Redundant Store/Load eliminationSlide~LT~Gliederung 1<( (@' Object InliningSlide~LT~Gliederung 1<( (@' Dead Feature PruningSlide~LT~Gliederung 1<( (@' VStandard Optimisations: CSE, Loop Unrolling, Strength Reduction, Code Placement, . . .Slide~LT~Gliederung 1<( (@' QVDrXX% Optimisationsgg WSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>, DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX% Optimisationsgg WSlide~LT~GliederungDrPgaJoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titelx D`YxV4B1D Compiler IRSlide~LT~Titel<( (@'DrObSVDr& `C)Slide~LT~Gliederung 15 `C xV4B1 EDG: SSA-based IRSlide~LT~Gliederung 1 <( (@'   Based on Click et. al.Slide~LT~Gliederung 2<( (@'Include Heap Memory ModelSlide~LT~Gliederung 1 <( (@' )Based on Steensgard's "Functional Memory"Slide~LT~Gliederung 2<( (@'All dependencies explicit Slide~LT~Gliederung 1 <( (@' including anti dependenciesSlide~LT~Gliederung 2<( (@'#Basis for Analysis and OptimisationSlide~LT~Gliederung 1 <( (@' Graph based IR, Slide~LT~Gliederung 2<( (@' Graph based Analysis InformationSlide~LT~Gliederung 2<( (@'DrXX# Compiler IRgg SSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX# Compiler IRgg WSlide~LT~GliederungDrPgJoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel D`fxV4B1QExample Program FragmentSlide~LT~Titel<( (@'DrObSVDr& `QD'$*Slide~LT~UntertitelU `QD6 xV4B1 A *a = new A ();a->x = W;Slide~LT~Untertitel<( (@'1''A *b = new A ();b->x = V;Slide~LT~Untertitel<( (@'1'' A *c = 0;Slide~LT~Untertitel<( (@'1''   if (/* cond */)Slide~LT~Untertitel<( (@'1''c = a;Slide~LT~Untertitel<( (@'1''elseSlide~LT~Untertitel<( (@'1''c = b;Slide~LT~Untertitel<( (@'1'' c->x = Q;Slide~LT~Untertitel<( (@'1''   R = op1 (c->x, ...);Slide~LT~Untertitel<( (@'1''  S = op2 (a->x, ...);Slide~LT~Untertitel<( (@'1''  DrXX'Example Programgg SSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX'Example Programgg WSlide~LT~GliederungDrPgO  JoeM8cjJDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel D`bxV4B1MExample SSA FragmentSlide~LT~Titel<( (@'DrObSVDr& q`!D'$*Slide~LT~Untertitel q`!Dn xV4B1I A *a1 = new A ();a1->x = W;Slide~LT~Untertitel<( (@'1''A *b1 = new A ();b1->x = V;Slide~LT~Untertitel<( (@'1'' A *c1 = 0;Slide~LT~Untertitel<( (@'1''    if (/* cond */)c2 = a1;Slide~LT~Untertitel<( (@'1''elsec3 = b1;Slide~LT~Untertitel<( (@'1''          c4 = (c2, c3);Slide~LT~Untertitel<( (@'1''          c4->x = Q;Slide~LT~Untertitel<( (@'1''     R = op1 (c4->x, ...);Slide~LT~Untertitel<( (@'1''          S = op2 (a1->x, ...);Slide~LT~Untertitel<( (@'1''          DrXX.Example Program in SSAgg SSlide~LT~GliederungDrPgJoeMjJ8cDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX.Example Program in SSAgg OSlide~LT~GliederungDrPgWJoeM8cjJDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& $TFStandard $TF}@file:///home/calvin/office52/user/work/Test/SSA/dias/phi_mem.pngPNG - Portable Network GraphicDrXXSSAgg GSlide~LT~GliederungDrPgJoeMjJ8cDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXXSSAgg OSlide~LT~GliederungDrPgYJoeM8cjJDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& $TFStandard $TF|?file:///home/calvin/office52/user/work/Test/SSA/dias/xi_mem.pngPNG - Portable Network GraphicDrXXSSA/xigg GSlide~LT~GliederungDrPgJoeMjJ8cDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXXSSA/xigg OSlide~LT~GliederungDrPgJoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel D``xV4B1KPoints To AnalysisSlide~LT~Titel<( (@'DrObSVDr& `'B)Slide~LT~Gliederung 1[ `'B<xV4B1'Pessimistic PointsTo analysis [Trapp99]Slide~LT~Gliederung 1 <( (@' 'Flow- and Context-sensitive Slide~LT~Gliederung 2<( (@'  InterproceduralSlide~LT~Gliederung 2<( (@'(Efficient visiting order along Sparse IRSlide~LT~Gliederung 2<( (@' Iterative refinement of accuracySlide~LT~Gliederung 2<( (@'!Memory- and time efficient MethodSlide~LT~Gliederung 1 <( (@'  %Only add new facts in Points To stateSlide~LT~Gliederung 2<( (@'%(Use widening to lower memory consumptionSlide~LT~Gliederung 2<( (@'  (DrXX*Points-To Analysisgg WSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX*Points-To Analysisgg WSlide~LT~GliederungDrPgJJoeM8cjJDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel D`mxV4B1XStatic Garbage Collection (1/2)Slide~LT~Titel<( (@'DrOb{SVDr& `'B)Slide~LT~Gliederung 1 `'BxV4B1!Realisation of explicit deletion:Slide~LT~Gliederung 1 <( (@' !Stack allocation, Global VariableSlide~LT~Gliederung 1 <( (@' -Profitable: Zero Allocation/Deallocation CostSlide~LT~Gliederung 2<( (@'Explicit DeletionSlide~LT~Gliederung 1 <( (@' Save Tracing by Runtime GCSlide~LT~Gliederung 2<( (@' Requires Cooperative EnvironmentSlide~LT~Gliederung 2<( (@',Special Heap for Object with same death timeSlide~LT~Gliederung 1 <( (@' )Efficient Allocation/Deallocation (no GC)Slide~LT~Gliederung 2<( (@'DrXX7Static Garbage Collection (2/2)gg WSlide~LT~GliederungDrPgJoeMjJ8cDrLyLayoutDrLy BackgroundDrLy!Background objectsDrLyControlsDrLyDimension LinesDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX7Static Garbage Collection (2/2)gg OSlide~LT~GliederungDrPgJoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titel D`mxV4B1XStatic Garbage Collection (2/2)Slide~LT~Titel<( (@'DrObSVDr& `D)Slide~LT~Gliederung 1c `DD xV4B1 #Look at Runtime Garbage Collection:Slide~LT~Gliederung 1 <( (@'  Find Root SetSlide~LT~Gliederung 2<( (@'Follow Object GraphSlide~LT~Gliederung 2<( (@' For Static GCSlide~LT~Gliederung 1 <( (@'   Root set is availlableSlide~LT~Gliederung 2<( (@'Object Graph is hardSlide~LT~Gliederung 2<( (@'!Approximate Run Time Object GraphSlide~LT~Gliederung 1 <( (@' !(Simulate Execution of Garbage CollectionSlide~LT~Gliederung 1 <( (@' (Exploit lifeness InformationSlide~LT~Gliederung 1 <( (@' DrXX7Static Garbage Collection (1/2)gg SSlide~LT~GliederungDrPg(~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX7Static Garbage Collection (1/2)gg WSlide~LT~GliederungDrPg|JoeM8cjJDrML8DrMD,DrObSVDr& D`"Slide~LT~Titelt D`UxV4B1@OutlookSlide~LT~Titel<( (@'DrObISVDr& `'B)Slide~LT~Gliederung 1 `'BxV4B1+Identify object allocations subject to SGCSlide~LT~Gliederung 1 <( (@' *+&Decide Allocation/Deallocation SchemeSlide~LT~Gliederung 1 <( (@' %&#Implementation in Industry ProjectsSlide~LT~Gliederung 1 <( (@' AJACSSlide~LT~Gliederung 2 <( (@'JOSESSlide~LT~Gliederung 2 <( (@'DrXX$ Exploitationgg WSlide~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,DrObSVDr& !/~@[$Slide~LT~Notizen !/~@[bxV4B1MClick to add notesSlide~LT~Notizen<( (@'DrXX$ Exploitationgg WSlide~LT~GliederungDrPgzJoeM8cjJDrML8DrMD,DrObSVDr&%2!`[<'  Title~LT~Untertitel8%2!`[<xV4B1Florian Liekweg (UKA)Title~LT~Untertitel<( (@'+''Martin Trapp (IBM)Title~LT~Untertitel<( (@'+''Uwe Amann (UKA)Title~LT~Untertitel<( (@'+''Gerhard Goos (UKA)Title~LT~Untertitel<( (@'+''Title~LT~Untertitel<( (@'+'' Dagstuhl, Title~LT~Untertitelg*<( (@'+'' DrObSVDr&* ^b"  Title~LT~Titel* ^bxV4B1l+Static Garbage Collection via Heap AnalysisTitle~LT~Titel<( (@'+DrXXEndgg KTitle~LT~GliederungDrPg~JoeMjJ8cDrML8DrMD,DrOb<SVDr&g q>,!DrObSVDr& !/~@[$ Title~LT~Notizen !/~@[bxV4B1MClick to add notesTitle~LT~Notizen<( ( @'DrXXEndgg OTitle~LT~GliederungDrXX$Generic PrinterSGENPRT PostScriptjVTRVTd,,lprdefault_queueSGENPRT"PageSize:LegalResolution:600dpi DrVwP SVDr SVDr:SVDr{{SVDrALayout:SVDr{{SVDr#SVDr SVDr# SVDr0 SVDr1 SVDr3 SVDr4SVDr@SVDr SVDrD SVDrP SVDrQ DrHL DrHL DrHL #oKTitel4Dagstuhl @Doktorandenseminar  ectpTC0  -)䰱OutPlace ObjectOutPlace Objectࡱ; ࡱ;  Root Entry  !"#$%&'()*+,-./0123456789:;<=> FMicrosoft Graph 97GBiff5MSGraph.Chart.89q zB"#,##0\ "DM";\-#,##0\ "DM"##,##0\ "DM";[Red]\-#,##0\ "DM"$#,##0.00\ "DM";\-#,##0.00\ "DM")$#,##0.00\ "DM";[Red]\-#,##0.00\ "DM">*9_-* #,##0\ "DM"_-;\-* #,##0\ "DM"_-;_-* "-"\ "DM"_-;_-@_->)9_-* #,##0\ _D_M_-;\-* #,##0\ _D_M_-;_-* "-"\ _D_M_-;_-@_-F,A_-* #,##0.00\ "DM"_-;\-* #,##0.00\ "DM"_-;_-* "-"??\ "DM"_-;_-@_-F+A_-* #,##0.00\ _D_M_-;\-* #,##0.00\ _D_M_-;_-* "-"??\ _D_M_-;_-@_-"$"#,##0_);\("$"#,##0\)!"$"#,##0_);[Red]\("$"#,##0\)""$"#,##0.00_);\("$"#,##0.00\)'""$"#,##0.00_);[Red]\("$"#,##0.00\)72_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_).)_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)?:_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)61_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_) 0\ _s_e_c1Arial1Arial1Arial1.TTimes New Roman1.TTimes New Roman1,Arial1|Arial1Arial=$S_e_c.00_ z` 19h` 19h` A2@` 1988___f̙̙3f3fff3f3f33333f33333\R311&STU SAC (Karlsruhe IPD-Opt) C++ (gcc) Sun HotspotIBM HPJ (VA 2.0) Sun JDK 1.2 IBM JDK 1.1.7static compilation`@@8@j@@j@"@WY09`'= $>X4d]3d 3Q (static compilationQQQ3_ O   MMd4E4 3Q Balken 2QQQ3_4E4 3Q &jit - compilationQQQ3_ M  f- % i@zar%KP)sp:"M( UUUU50% MMd4E4 3Q (net execution timeQQQ3_ M *  MMd4E4 3Q Balken 5QQQ3_ O 3f9  MMd4E4D$% M 3O&Q4$% M 3O&Q4FA^r 3O5Z3 b#M&43*#M&43" 444 qTD00    1. -- .-'. --'. --'. --1'. --1'. ---'. -- '. -- 3f--$ ]]s s ]--% ]]s s ]-' -3f--$ @@4 4 --% @@4 4 -' -3f--$ AA  --% AA  -' -3f--$ ((  --% ((  -' -3f--$ b%b%x x b--% b%b%x x b-' -3f--$ ####9 9 #--% ####9 9 #-''. -- '. --1- --  --aa------hh----  -- --II --   -- -- --NN -- -'. --1'. --2."Arial-!0 !10000> !20000 !30000 !40000E !50000'. ---1'. --2."Arial-!SAC (Karlsruhe IPD-Opt)] ! C++ (gcc) ! Sun Hotspot!IBM HPJ (VA 2.0)[ ! Sun JDK 1.2a ! IBM JDK 1.1.7"w'. ---1'. --'. --'Root EntryFOle CompObjbWorkbookOlePres000 XRoot Entry FMicrosoft Formel-Editor 3.0 DS Equation Equation.39q=W4    .1    & & MathTypeP & l Root EntryFOle CompObjkOlePres000Equation Native #<VRoot Entry!r\V)䰱@Object 1 -)䰱CompObjEOle Object 2 -)䰱persist elements" SfxDocumentInfo StarBASIC BasicManager2 4SfxWindowsSfxStyleSheetspStandardjSummaryInformation( lStarDrawDocument3$]CompObjHOle !persist elements""OutPlace Object #Ole-Object4Ole $CompObj%HOle-Object'OutPlace Object _persist elements"`