2012
DOI: 10.1007/978-3-642-30561-0_13
|View full text |Cite
|
Sign up to set email alerts
|

Identifying a Unifying Mechanism for the Implementation of Concurrency Abstractions on Multi-language Virtual Machines

Abstract: Abstract. Supporting all known abstractions for concurrent and parallel programming in a virtual machines (VM) is a futile undertaking, but it is required to give programmers appropriate tools and performance. Instead of supporting all abstractions directly, VMs need a unifying mechanism similar to INVOKEDYNAMIC for JVMs. Our survey of parallel and concurrent programming concepts identifies concurrency abstractions as the ones benefiting most from support in a VM. Currently, their semantics is often weakened, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2014
2014
2018
2018

Publication Types

Select...
3
2

Relationship

2
3

Authors

Journals

citations
Cited by 5 publications
(4 citation statements)
references
References 27 publications
(16 reference statements)
0
4
0
Order By: Relevance
“…From the selected languages we derived a list of debuggers by including the standard debugger for each language (if one exists) and possibly others that are used by a significant number of developers (e.g., debuggers used by popular development environments). The debuggers covered by our survey are: Java Debugger Interface 13 (Java), Visual Studio debugger 14 (C # , C ++ , Visual Basic .NET, JavaScript), PyDev 15 (Python), pdb 16 (Python), perldebug 17 (Perl), GDB 18 (C), Chrome development tools 19 (JavaScript), XDebug 20 (PHP), Zend Debugger 21 (PHP), debug.rb 22 (Ruby), LLDB 23 (Objective-C, Swift), GHCi debugger (Haskell) 24 , Concurrent Haskell debugger [6] (Haskell), SISC debugger 25 (Scheme), Scala asynchronous debugger 26 (Scala), Self debugger 27 (Self), ocamldebug 28 (OCaml), XPCE debugger 29 (Prolog), Pharo debugger. 30…”
Section: Selected Debuggersmentioning
confidence: 99%
See 1 more Smart Citation
“…From the selected languages we derived a list of debuggers by including the standard debugger for each language (if one exists) and possibly others that are used by a significant number of developers (e.g., debuggers used by popular development environments). The debuggers covered by our survey are: Java Debugger Interface 13 (Java), Visual Studio debugger 14 (C # , C ++ , Visual Basic .NET, JavaScript), PyDev 15 (Python), pdb 16 (Python), perldebug 17 (Perl), GDB 18 (C), Chrome development tools 19 (JavaScript), XDebug 20 (PHP), Zend Debugger 21 (PHP), debug.rb 22 (Ruby), LLDB 23 (Objective-C, Swift), GHCi debugger (Haskell) 24 , Concurrent Haskell debugger [6] (Haskell), SISC debugger 25 (Scheme), Scala asynchronous debugger 26 (Scala), Self debugger 27 (Self), ocamldebug 28 (OCaml), XPCE debugger 29 (Prolog), Pharo debugger. 30…”
Section: Selected Debuggersmentioning
confidence: 99%
“…We further showed how to apply it to local and remote promises. Nonetheless, in practice there exist many other concurrent models as discussed by Marr and D'Hondt [22]. Examples include processes, actors and active objects.…”
Section: Supporting Other Concurrent Modelsmentioning
confidence: 99%
“…The ownership-based metaobject protocol (OMOP) proposed by Marr and D'Hondt [2012] is an example of such a MOP. It provides framework and DSL implementers with abstractions to guarantee, e. g., isolation between actors.…”
Section: Metaobject Protocols and Dslsmentioning
confidence: 99%
“…Recent attempts at re-implementing or re-engineering the Squeak VM have shown that good performance is difficult to achieve [2,13,17]. To us, Squeak appeared to be too slow to actually emulate in JavaScript, and too complex to subdivide into an interpreter layer and browser graphics layer.…”
Section: Motivationmentioning
confidence: 99%