B. Eich, Javascript at ten years, pp.129-129, 2005.

G. Richards, S. Lebresne, B. Burg, and J. Vitek, An analysis of the dynamic behavior of javascript programs, pp.1-12, 2010.

R. Dewsbury, Upper Saddle River, Google Web Toolkit Applications, 2007.

S. Doeraene, T. Schlatter, and N. Stucki, Semantics-driven interoperability between scala.js and javascript, pp.85-94, 2016.

A. Zakai, Emscripten: An llvm-to-javascript compiler, pp.301-312, 2011.

R. Auler, E. Borin, P. De-halleux, M. Moskal, and N. Tillmann, Addressing javascript jit engines performance quirks: A crowdsourced adaptive compiler, pp.218-237, 2014.

M. Chang, E. Smith, R. Reitmaier, M. Bebenita, A. Gal et al., Tracing for web 3.0: Trace compilation for the next generation web applications, pp.71-80, 2009.

M. Chang, B. Mathiske, E. Smith, A. Chaudhuri, A. Gal et al., The impact of optional type information on JIT compilation of dynamically typed languages, SIGPLAN Not, vol.47, issue.2, pp.13-24, 2011.

B. Hackett and S. Guo, Fast and precise hybrid type inference for javascript, SIGPLAN Not, vol.47, issue.6, pp.239-250, 2012.

K. Adams, J. Evans, B. Maher, G. Ottoni, A. Paroski et al., The hiphop virtual machine, pp.777-790, 2014.

A. Gal, B. Eich, M. Shaver, D. Anderson, B. Kaplan et al.,

M. Haghighat, M. Bebenita, M. Change, and . Franz, Trace-based just-in-time type specialization for dynamic languages, pp.465-478, 2009.

M. R. Souza, C. Guillon, F. M. Pereira, M. A. Da-silva, and . Bigonha, Dynamic elimination of overflow tests in a trace compiler, pp.2-21, 2011.

I. R. De-assis-costa, P. R. Alves, H. N. Santos, and F. M. Pereira, Justin-time value specialization, pp.1-11, 2013.

U. Hölzle, C. Chambers, and D. Ungar, Optimizing dynamically-typed objectoriented languages with polymorphic inline caches, pp.21-38, 1991.

A. A. Ap and E. Rohou, Dynamic function specialization, pp.1-8, 2017.
URL : https://hal.archives-ouvertes.fr/hal-01597880

S. H. Jensen, A. Møller, and P. Thiemann, Type analysis for javascript, pp.238-255, 2009.

C. Humer, C. Wimmer, C. Wirth, A. Wöß, and T. Würthinger, A domainspecific language for building self-optimizing ast interpreters, pp.123-132, 2014.

N. D. Jones, C. K. Gomard, and P. Sestoft, Partial Evaluation and Automatic Program Generation, 1993.

V. H. Campos, P. R. Alves, H. N. Santos, and F. M. Pereira, Restrictification of function arguments, pp.163-173, 2016.

G. Mendonça, B. Guimarães, P. Alves, M. Pereira, G. Araújo et al.,

D. Pereira, Automatic annotation for data parallelism and offloading, ACM Trans. Archit. Code Optim, vol.14, issue.2, p.25, 2017.

P. Ramos, G. Souza, D. Soares, G. Araújo, and F. M. Pereira, Automatic annotation of tasks in structured code, vol.31, 2018.

P. Pominville, F. Qian, R. Vallée-rai, L. Hendren, and C. Verbrugge, A framework for optimizing java using attributes, pp.8-24, 2000.

D. E. Denning and P. J. Denning, Certification of programs for secure information flow, Commun. ACM, vol.20, pp.504-513, 1977.

A. W. Appel and J. Palsberg, Modern Compiler Implementation in Java, p.2

, Edition, 2002.

A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman, Compilers: Principles, Techniques, and Tools, 2006.

L. George and A. W. Appel, TOPLAS, vol.18, issue.3, pp.300-324, 1996.

T. Ball and J. R. Larus, Branch prediction for free, pp.300-313, 1993.

Y. Wu and J. R. Larus, Static branch frequency and program profile analysis, pp.1-11, 1994.

M. Sagiv, T. Reps, and S. Horwitz, Precise interprocedural dataflow analysis with applications to constant propagation, Theor. Comput. Sci, vol.167, issue.1-2, pp.131-170, 1996.

S. Maffeis, J. C. Mitchell, and A. Taly, An operational semantics for JavaScript, pp.307-325, 2008.

D. Park, A. Stef?nescu, and G. Ro?u, KJS: A complete formal semantics of javascript, pp.346-356, 2015.

L. P. Deutsch and A. M. Schiffman, Efficient implementation of the smalltalk-80 system, pp.297-302, 1984.

R. Cytron, J. Ferrante, B. Rosen, M. Wegman, and K. Zadeck, Efficiently computing static single assignment form and the control dependence graph, TOPLAS, vol.13, issue.4, pp.451-490, 1991.

G. W. Hill, Students t-distribution, Commun. ACM, vol.395, issue.10, pp.617-619, 1970.

B. Grant, M. Mock, M. Philipose, C. Chambers, and S. J. Eggers, Annotationdirected run-time specialization in c, pp.163-178, 1997.

A. Azevedo, A. Nicolau, and J. Hummel, Java annotation-aware just-in-time (ajit) complilation system, pp.142-151, 1999.

C. Krintz and B. Calder, Using annotations to reduce dynamic optimization time, pp.156-167, 2001.

C. Krintz, Coupling on-line and off-line profile information to improve program performance, pp.69-78, 2003.

V. Nirkhe and W. Pugh, Partial evaluation of high-level imperative programming languages with applications in hard real-time systems, pp.269-280, 1992.

A. Shali and W. R. Cook, Hybrid partial evaluation, pp.375-390, 2011.

T. Würthinger, C. Wimmer, A. Wöß, L. Stadler, G. Duboscq et al., One VM to rule them all, pp.187-204, 2013.

T. Würthinger, C. Wimmer, C. Humer, A. Wöß, L. Stadler et al., Practical partial evaluation for highperformance dynamic language runtimes, SIGPLAN Not, vol.52, issue.6, pp.662-676, 2017.