One VM to rule them all

T Würthinger, C Wimmer, A Wöß, L Stadler… - Proceedings of the …, 2013 - dl.acm.org
Building high-performance virtual machines is a complex and expensive undertaking; many
popular languages still have low-performance implementations. We describe a new …

Practical partial evaluation for high-performance dynamic language runtimes

T Würthinger, C Wimmer, C Humer, A Wöß… - Proceedings of the 38th …, 2017 - dl.acm.org
Most high-performance dynamic language virtual machines duplicate language semantics
in the interpreter, compiler, and runtime system. This violates the principle to not repeat …

Effect handlers for the masses

JI Brachthäuser, P Schuster, K Ostermann - Proceedings of the ACM on …, 2018 - dl.acm.org
Effect handlers are a program structuring paradigm with rising popularity in the functional
programming language community and can express many advanced control flow …

Bytecodes meet combinators: invokedynamic on the JVM

JR Rose - Proceedings of the Third Workshop on Virtual …, 2009 - dl.acm.org
The Java Virtual Machine (JVM) has been widely adopted in part because of its classfile
format, which is portable, compact, modular, verifiable, and reasonably easy to work with …

Theory and practice of coroutines with snapshots

A Prokopec, F Liu - 32nd European Conference on Object …, 2018 - drops.dagstuhl.de
While event-driven programming is a widespread model for asynchronous computing, its
inherent control flow fragmentation makes event-driven programs notoriously difficult to …

[BOOK][B] Specialising dynamic techniques for implementing the Ruby Programming Language

C Seaton - 2015 - search.proquest.com
The Ruby programming language is dynamically typed, uses dynamic and late bound
dispatch for all operators, method calls and many control structures, and provides extensive …

Efficient coroutines for the Java platform

L Stadler, T Würthinger, C Wimmer - … on the Principles and Practice of …, 2010 - dl.acm.org
Coroutines are non-preemptive lightweight processes. Their advantage over threads is that
they do not have to be synchronized because they pass control to each other explicitly and …

Lightweight Java profiling with partial safepoints and incremental stack tracing

P Hofer, D Gnedt, H Mössenböck - Proceedings of the 6th ACM/SPEC …, 2015 - dl.acm.org
Sampling profilers are popular because of their low and adjustable overhead and because
they do not distort the profile by modifying the application code. A typical sampling profiler …

Achieving Efficient Structured Concurrency through Lightweight Fibers in Java Virtual Machine

P Pufek, D Beronić, B Mihaljević… - 2020 43rd International …, 2020 - ieeexplore.ieee.org
Contemporary concurrent server applications, commonly built of smaller and independent
services, are using concurrent threads to serve many incoming requests and often have to …

The Eureka programming model for speculative task parallelism

S Imam, V Sarkar - 29th European Conference on Object …, 2015 - drops.dagstuhl.de
In this paper, we describe the Eureka Programming Model (EuPM) that simplifies the
expression of speculative parallel tasks, and is especially well suited for parallel search and …