lecture-18 Optimizing Object Oriented languages

lecture-18 Optimizing Object Oriented languages - in[x] ±...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Quick recap of abstract interpretation Approximation • Want to show: Cousot and Cousot 77 • Cousot and Cousot show that the following conditions are sufficient for proving (1) and (2): (3) (4) (5) Let’s look at the α condition Let’s look at the γ condition Link between local and global
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Optimizing OO languages Interproc analysis with data-dependent calls How to break the cycle? Better solution Algorithm
Background image of page 2
3 Example Example In the context of OO programs Class analysis Intraprocedural class analysis • Domain: Flow functions x := new C in out x := y in out
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Flow functions x := new C in out x := y in out out = in[x { C }] out = in[x in[y]] Flow functions if (x instance of C) in out[0] out[1] T F Flow functions if (x instance of C) in out[0] out[1] out[0] = in[x
Background image of page 4
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 6
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: in[x] ± subclasses(C)] T F out[1] = in[x & in[x] – subclasses(C) ] Limitations of intraproc analysis Profile-guided class prediction Specialization 5 Flow insensitive interproc class analysis Example CHA algorithm • Compute applies-to-set: for each method, determine the set of classes the method applies to. • At a message send a.m, take the set of classes inferred for a, and check if this set overlaps with the applies-to sets of all methods that implement m. • If only one set overlaps, then the message send should go to that method. Example Example Improvements 6 Flow-sensitive interproc class analysis Algorithm Problem Partial transfer functions...
View Full Document

This note was uploaded on 02/19/2008 for the course CSE 231 taught by Professor Lerner during the Fall '06 term at UCSD.

Page1 / 6

lecture-18 Optimizing Object Oriented languages - in[x] ±...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online