Re: Why Virtual Machines? (was: C++ -> Java VM compiler)

Arch Robison <robison@kai.com>
11 Feb 1997 22:11:48 -0500

          From comp.compilers

Related articles
[9 earlier articles]
Re: Why Virtual Machines? (was: C++ -> Java VM compiler) Bronikov@srv2.ic.net (Dmitri Bronnikov) (1997-02-02)
Re: Why Virtual Machines? (was: C++ -> Java VM compiler) apalanis@students.uwf.edu (1997-02-03)
Re: Why Virtual Machines? (was: C++ -> Java VM compiler) robison@kai.com (Arch Robison) (1997-02-03)
Re: Why Virtual Machines? (was: C++ -> Java VM compiler) bothner@cygnus.com (1997-02-07)
Re: Why Virtual Machines? (was: C++ -> Java VM compiler) haahr@netcom.com (1997-02-07)
Re: Why Virtual Machines? (was: C++ -> Java VM compiler) markt@harlequin.co.uk (1997-02-07)
Re: Why Virtual Machines? (was: C++ -> Java VM compiler) robison@kai.com (Arch Robison) (1997-02-11)
Re: Why Virtual Machines? (was: C++ -> Java VM compiler) gah@u.washington.edu (1997-02-22)
| List of all articles for this month |

From: Arch Robison <robison@kai.com>
Newsgroups: comp.compilers
Date: 11 Feb 1997 22:11:48 -0500
Organization: Kuck & Associates, Inc.
References: <01bbfca0$a284a6f0$041b6682@tecel> 97-01-094 97-01-120 97-01-139 97-01-225 97-02-031
Keywords: Java

markt@harlequin.co.uk (Mark Tillotson) writes:
>> Quite the opposite. The Java VM does define object reference size:
>> it's 32 bits. The reason for the JVM addressing (and much more) is
>> explained by Gosling himself (from the SIGPLAN article):
>
>You sound quite convincing, but are simply wrong: there is _no defined
>object reference size_ (see section 3.4 of the JVM Spec - ...


I perhaps made a mistake by looking at old documentation. The old
specification distributed with the early Java releases (as of December
1995) very clearly states that the operand stack is 32 bits wide.
Below are the supporting scriptural quotations.


Section 1.1:


            ``Other virtual machine data types include:


object // 4-byte reference to a Java object''


Section 1.4:


            ``The operand stack is 32 bits wide.''


Of course these are all specifications for the *virtual* machine. A
physical implementation may do something else behind the scenes, as
indicated by Section 1.1:


      ``While the Java Virtual Machines would appear to be limited by the
ytecode definition to running on a 32-bit address space machine,
it is possible to build a version of the Java Virtual Machine that
automatically translates the bytecodes into a 64-bit form. A
description of this transformation is beyond the scope of this
specification.''


Perhaps the more recent documentation for the JVM has done away with
the 32-bit-centric view?


Arch D. Robison Kuck & Associates Inc.
robison@kai.com 1906 Fox Drive
217-356-2288 Champaign IL 61820
Lead Developer for KAI C++ http://www.kai.com/C_plus_plus/index.html
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.