Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3191697.3191728acmotherconferencesArticle/Chapter ViewAbstractPublication PagesprogrammingConference Proceedingsconference-collections
extended-abstract

The inevitable death of VMs: a progress report

Published: 09 April 2018 Publication History

Abstract

Language virtual machines (VMs), as implementation artifacts, are characterised by hard boundaries which limit their conduciveness to language interoperability, whole-system tooling, and other interactions with the `world outside'. Since the VM paradigm emerged, it has become increasingly clear that no single language or VM can succeed to the exclusion of others. This motivates a different approach in which languages are no longer implemented as VMs per se, but as participants in certain shared system-wide protocols, shared across diverse collection of languages and constituting a more porous boundary. One means of achieving such a shift is to evolve the underlying infrastructure from an essentially Unix-like environment to one that incorporates VM-like services, including memory management primitives, as a core protocol shared between many language implementations. Ongoing work towards these goals within the liballocs runtime is discussed, specifically concerning pointer identification, process-wide garbage collection, and speculative optimisations.

References

[1]
Hans-Juergen Boehm and Mark Weiser. 1988. Garbage collection in an uncooperative environment. Softw. Pract. Exper. 18, 9 (1988), 807–820.
[2]
C. Chambers, D. Ungar, and E. Lee. 1989. An efficient implementation of SELF, a dynamically-typed object-oriented language based on prototypes. SIGPLAN Not. 24, 10 (1989), 49–70.
[3]
Stephen Kell. 2015. Towards a Dynamic Object Model Within Unix Processes. In 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!) (Onward! 2015). ACM, New York, NY, USA, 224–239.
[4]
Kristis Makris. 2009. Whole-Program Dynamic Software Updating. Ph.D. Dissertation. Arizona State University.
[5]
James Noble and Robert Biddle. 2002. Notes on postmodern programming. Technical Report CS-TR-02-9. Victoria University of Wellington, Wellington, New Zealand. Abstract 1 Introduction 2 Extending liballocs 3 Further matters for discussion References

Cited By

View all
  • (2023)Towards Reliable Memory Management for Python Native ExtensionsProceedings of the 18th ACM International Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems10.1145/3605158.3605849(15-26)Online publication date: 17-Jul-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming
April 2018
244 pages
ISBN:9781450355131
DOI:10.1145/3191697
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 April 2018

Check for updates

Author Tags

  1. Unix
  2. debugging
  3. garbage collection
  4. linking
  5. virtual machines

Qualifiers

  • Extended-abstract

Conference

<Programming> 2018

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Towards Reliable Memory Management for Python Native ExtensionsProceedings of the 18th ACM International Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems10.1145/3605158.3605849(15-26)Online publication date: 17-Jul-2023

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media