Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran...

14
Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology [email protected]

Transcript of Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran...

Page 1: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

Tracing and a Javascript VM Increasing the Performance of Web 3.0

Mohammad SoryaniMazandaran University of Science and Technology

[email protected]

Page 2: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

Tracing and a javascript VM 1

• Introduction • Tamarin-Tracing• HLL to x86 •Trace compilation• Side exits• Organizing Traces• Type specialization via traces• Results of evaluation

Outline

Page 3: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

2

Introduction

-Client side programming is increasing

- Browsers are the best choice

- Javascript is powerful and supported in

all browsers

- Unfortunately has a low performance

Tracing and a javascript VM

Page 4: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

3

Tamarin-Tracing

- An experimental java script virtual machine

- A Trace baced just in time compiler(JIT)

-Cooperation of Mozilla and Adobe

Tracing and a javascript VM

Page 5: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

4

HLL To X86

Tracing and a javascript VM

Page 6: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

5

Trace Compilation

Tracing and a javascript VM

Page 7: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

6

Side Exits

Tracing and a javascript VM

Page 8: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

7

Organizing Traces

Tracing and a javascript VM

Page 9: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

8

Type Specialization

Tracing and a javascript VM

- dynamically typed languages are poor candidates for just-in-time compilation- Javascript is dynamically typed - The type of some objects don’t change during program execution - We try to compile javascript as a statically typed language by assuming this for some parts of code

Page 10: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

9

Results of Evaluation

Tracing and a javascript VM

Page 11: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

10

Results of Evaluation

Tracing and a javascript VM

Page 12: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

11

Results of Evaluation

Tracing and a javascript VM

Page 13: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

12

Results of Evaluation

Tracing and a javascript VM

Page 14: Tracing and a Javascript VM Increasing the Performance of Web 3.0 Mohammad Soryani Mazandaran University of Science and Technology Soryani@ustmb.ac.ir.

13

References

- [1] Mason Chang, Edwin Smith, Rick Reitmaier, Michael Bebenita, Andreas Gal, Christian Wimmer, Brendan Eich, Michael Franz, “Tracing for Web 3.0”, Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments , Washington, DC, USA, March 11-3, 2009.

Tracing and a javascript VM