jvm hardcode - part 01 - how frames work

10

Click here to load reader

Upload: yohanbeschi

Post on 12-Jul-2015

2.674 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JVM Hardcode - Part 01 - How Frames work

Cadre 1 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

ra PC

Page 2: JVM Hardcode - Part 01 - How Frames work

Cadre 1 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

ra

PC

1

Page 3: JVM Hardcode - Part 01 - How Frames work

Cadre 1 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

ra

PC

2

1

Page 4: JVM Hardcode - Part 01 - How Frames work

Classe

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

Cadre 2 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static int add(int i1, int i2) { empile vl0 empile vl1 additionne le sommet de la pile retourne le sommet de la pile }

1

PC

2

Cadre 1

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

ra

2

1

Cadre inactif

Page 5: JVM Hardcode - Part 01 - How Frames work

Cadre 1 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

ra

Cadre 2 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static int add(int i1, int i2) { empile vl0 empile vl1 additionne le sommet de la pile retourne le sommet de la pile }

1

PC

2

2

1

Cadre inactif

Page 6: JVM Hardcode - Part 01 - How Frames work

Classe

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

Cadre 2 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static int add(int i1, int i2) { empile vl0 empile vl1 additionne le sommet de la pile retourne le sommet de la pile }

1

PC

2

1

Cadre 1

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

ra

2

1

Cadre inactif

Page 7: JVM Hardcode - Part 01 - How Frames work

Classe

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

Cadre 2 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static int add(int i1, int i2) { empile vl0 empile vl1 additionne le sommet de la pile retourne le sommet de la pile }

1

PC

2

2

1

Cadre 1

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

ra

2

1

Cadre inactif

Page 8: JVM Hardcode - Part 01 - How Frames work

Classe

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

Cadre 2 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static int add(int i1, int i2) { empile vl0 empile vl1 additionne le sommet de la pile retourne le sommet de la pile }

1

PC

2

3

Cadre 1

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

ra

2

1

Cadre inactif

Page 9: JVM Hardcode - Part 01 - How Frames work

Classe

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

Cadre 2 Classe

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

public static int add(int i1, int i2) { empile vl0 empile vl1 additionne le sommet de la pile retourne le sommet de la pile }

1

PC

2

3

Cadre 1

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

ra

3

Cadre inactif

Page 10: JVM Hardcode - Part 01 - How Frames work

Classe

public static void main(String[] a) { empile la littérale 1 empile la littérale 2 appelle la méthode static add() stocke le résultat dans vl1 // … }

PC

Cadre 1

Variables Locales

0 1 2 3 4 5 6 7 8

Pile

ra

3

3