Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Andreas Gal is active.

Publication


Featured researches published by Andreas Gal.


programming language design and implementation | 2009

Trace-based just-in-time type specialization for dynamic languages

Andreas Gal; Brendan Eich; Mike Shaver; David Anderson; David Mandelin; Mohammad R. Haghighat; Blake Kaplan; Graydon Hoare; Boris Zbarsky; Jason Orendorff; Jesse Ruderman; Edwin W. Smith; Rick Reitmaier; Michael Bebenita; Mason Chang; Michael Franz

Dynamic languages such as JavaScript are more difficult to compile than statically typed ones. Since no concrete type information is available, traditional compilers need to emit generic code that can handle all possible type combinations at runtime. We present an alternative compilation technique for dynamically-typed languages that identifies frequently executed loop traces at run-time and then generates machine code on the fly that is specialized for the actual dynamic types occurring on each path through the loop. Our method provides cheap inter-procedural type specialization, and an elegant and efficient way of incrementally compiling lazily discovered alternative paths through nested loops. We have implemented a dynamic compiler for JavaScript based on our technique and we have measured speedups of 10x and more for certain benchmark programs.


international symposium on memory management | 2011

Compartmental memory management in a modern web browser

Gregor Wagner; Andreas Gal; Christian Wimmer; Brendan Eich; Michael Franz

Since their inception, the usage pattern of web browsers has changed substantially. Rather than sequentially navigating static web sites, modern web browsers often manage a large number of simultaneous tabs displaying dynamic web content, each of which might be running a substantial amount of client-side JavaScript code. This environment introduced a new degree of parallelism that was not fully embraced by the underlying JavaScript virtual machine architecture. We propose a novel abstraction for multiple disjoint JavaScript heaps, which we call compartments. We use the notion of document origin to cluster objects into separate compartments.n Objects within a compartment can reference each other directly. Objects across compartments can only reference each other through wrappers. Our approach reduces garbage collection pause times by permitting collection of sub-heaps (compartments), and we can use cross-compartment wrappers to enforce cross origin object access policy.


dynamic languages symposium | 2011

The impact of optional type information on jit compilation of dynamically typed languages

Mason Chang; Bernd Mathiske; Edwin W. Smith; Avik Chaudhuri; Andreas Gal; Michael Bebenita; Christian Wimmer; Michael Franz

Optionally typed languages enable direct performance comparisons between untyped and type annotated source code. We present a comprehensive performance evaluation of two different JIT compilers in the context of ActionScript, a production-quality optionally typed language. One JIT compiler is optimized for quick compilation rather than JIT compiled code performance. The second JIT compiler is a more aggressively optimizing compiler, performing both high-level and low-level optimizations.n We evaluate both JIT compilers directly on the same benchmark suite, measuring their performance changes across fully typed, partially typed, and untyped code. Such evaluations are especially relevant to dynamically typed languages such as JavaScript, which are currently evaluating the idea of adding optional type annotations. We demonstrate that low-level optimizations rarely accelerate the program enough to pay back the investment into performing them in an optionally typed language. Our experiments and data demonstrate that high-level optimizations are required to improve performance by any significant amount.


Archive | 2006

CellVM: A Homogeneous Virtual Machine Runtime System for a Heterogeneous Single-Chip Multiprocessor

Albert Noll; Andreas Gal; Michael Franz


Archive | 2002

An Efficient Execution Model for Dynamically Reconfigurable Component Software

Andreas Gal; Peter H. Fröhlich


Archive | 2003

A Denial of Service Attack on the Java Bytecode Verifier

Andreas Gal; Christian W. Probst; Michael Franz


Archive | 2004

Complexity-based denial-of-service attacks on mobile code systems

Andreas Gal; Christian W. Probst; Michael Franz


Archive | 2003

ProxyVM: A Network-based Compilation Infrastructure for Resource-Constrained Devices

Vasanth Venkatachalam; Ludong Wang; Andreas Gal; Christian W. Probst; Michael Franz


Archive | 2002

On Reconciling Objects, Components, and Eciency in Programming Languages

Peter H. Fröhlich; Andreas Gal; Michael Franz


Archive | 2006

Dynamic Adaptive Power Management For And By A Java Virtual Machine

Michael Rauch; Andreas Gal; Michael Franz

Collaboration


Dive into the Andreas Gal's collaboration.

Top Co-Authors

Avatar

Michael Franz

University of California

View shared research outputs
Top Co-Authors

Avatar

Christian W. Probst

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Mason Chang

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Avik Chaudhuri

University of California

View shared research outputs
Top Co-Authors

Avatar

Babak Salamat

University of California

View shared research outputs
Researchain Logo
Decentralizing Knowledge