13
Specidaption Michael Hind That’s what he thinks

Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Specidaption

Michael Hind

That’s what he thinks

Page 2: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Quick get out your dictionaries!

Specidaption

Page 3: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

I thought this was an ASPLOS talk?

Specidaption

Specidapt

MonitorSpeculate Adapt

Page 4: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

This is not what happens when Mike plays the outfield

MonitorSpeculate Adapt

Page 5: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Did anyone say healthcare reform?

MonitorSpeculate Adapt

Page 6: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Really? Are you in cohorts with this guy?

Specidaption Experts!

Page 7: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Compiler writers don’t like made up words?

Code Optimization

Page 8: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Sniff, sniff, poor compiler writers

Execution TimeCompile Time

MonitorSpeculate Adapt

Page 9: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Modern Virtual Machines

MonitorSpeculate Adapt

Oooh! I’m starting to believe him

Page 10: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Speculate

<Direct call to Person’s foo>

Monitor class loading

Load Class Student

Adapt

<Virtual call to foo>

Example 1: Devirtualization in Java

p.foo();

Current Class Hierarchy

Person

New Class Hierarchy

Student

Person

Page 11: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

Example 2: Stack allocation of objects

Complex c = new Complex(3.4, 2.1);foo(c);. . .

Qian & Hendren’02:

Monitor

Incoming heap ptrs

Adapt

- Move object to heap - Adapt policy for this allocation site

• Lots of “escape analysis” publications

Speculate

Object will not escape

• Very few specidaptive approaches

??

Page 12: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption

To heckle you!

A Call To Arms

Page 13: Specidaption Michael Hind That’s what he thinks. Quick get out your dictionaries! Specidaption