05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.1. VM Support for Concurrent and Parallel Programming<br />

VM Spec. Src. Version<br />

CLI X 5th edition<br />

Dalvik X Android 4.0<br />

DisVM X 4th edition<br />

ECMAScript+HTML5 X X ECMAScript5.1, HTML5<br />

Erlang X Erlang/OTP R15B01<br />

GHC X GHC 7.5.20120411<br />

JVM X X Java SE 7 Edition<br />

Mozart X 1.4.0.20080704<br />

Perl X 5.14.2<br />

Python X 3.2.3<br />

Ruby X 1.9.3<br />

Self X 4.4<br />

Squeak X X 4.3<br />

Table 3.1.: VM survey subjects, their version, and the availability of specification and<br />

source co<strong>de</strong>.<br />

documentation. For example, the CLI’s specification <strong>de</strong>scribes the relevant<br />

parts of the standard library and is t<strong>here</strong>fore <strong>de</strong>emed to be sufficient. For<br />

the JVM however, the analysis inclu<strong>de</strong>s one of the actual implementations<br />

(HotSpot and OpenJDK 7 ) and its accompanying documentation since the standard<br />

library is not covered by the specification. In the case of ECMAScript and<br />

HTML5, the specification is complemented with an analysis of the implementations<br />

based on V8 8 and Spi<strong>de</strong>rMonkey 9<br />

For languages without specification such as PHP, Python, or Ruby, the analysis<br />

inclu<strong>de</strong>s only the implementation that is wi<strong>de</strong>ly regar<strong>de</strong>d to be the official,<br />

i. e., standard implementation, as well as the available documentation.<br />

To answer the survey questions, the analysis assesses whether a concept is<br />

realized with the help of VM support or purely as a library. For VMs w<strong>here</strong><br />

only the specification was examined, the assessment was <strong>de</strong>duced from this<br />

information. For VMs w<strong>here</strong> the implementation was inspected, the <strong>de</strong>cision<br />

was simpler. A concept is consi<strong>de</strong>red to be realized as a library if its implementation<br />

is written completely in the language provi<strong>de</strong>d by the VM. None<br />

of the VM’s primitives, i. e., mechanisms directly provi<strong>de</strong>d by the VM are an<br />

essential part of the concept’s implementation. This criterion was unambiguous<br />

in this survey because none of the inspected implementations relied on a<br />

7 http://openjdk.java.net/<br />

8 https://github.com/v8/v8/archive/3.9.24.zip<br />

9 http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/12.0b5/<br />

43

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!