--- a/experiments/JavaByteCodeInterpreter.st Tue Sep 10 10:34:38 2013 +0100
+++ b/experiments/JavaByteCodeInterpreter.st Sun Sep 15 01:44:55 2013 +0100
@@ -203,18 +203,18 @@
The count must be of type int. It is popped off the operand stack. The count
represents the number of components of the array to be created. The unsigned
indexbyte1 and indexbyte2 are used to construct an index into the runtime
- constant pool of the current class (§3.6), where the value of the index is
+ constant pool of the current class (3.6), where the value of the index is
(indexbyte1 << 8) | indexbyte2. The runtime constant pool item at that index
must be a symbolic reference to a class, array, or interface type. The named
- class, array, or interface type is resolved (§5.4.3.1). A new array with components
+ class, array, or interface type is resolved (5.4.3.1). A new array with components
of that type, of length count, is allocated from the garbage-collected heap,
and a reference arrayref to this new array object is pushed onto the operand
stack. All components of the new array are initialized to null, the default
- value for reference types (§2.5.1).
+ value for reference types (2.5.1).
Linking Exceptions
During resolution of the symbolic reference to the class, array, or interface
- type, any of the exceptions documented in §5.4.3.1 can be thrown.
+ type, any of the exceptions documented in 5.4.3.1 can be thrown.
Runtime Exception
Otherwise, if count is less than zero, the anewarray instruction throws a
@@ -296,7 +296,7 @@
"Description
The index is an unsigned byte that must be an index into the local
- variable array of the current frame (§3.6). The objectref on the
+ variable array of the current frame (3.6). The objectref on the
top of the operand stack must be of type returnAddress or of type
reference. It is popped from the operand stack, and the value of
the local variable at index is set to objectref.
@@ -444,7 +444,7 @@
"
Description
Both value1 and value2 must be of type double. The values are popped from the operand
-stack and undergo value set conversion (§3.8.3), resulting in value1' and value2'.
+stack and undergo value set conversion (3.8.3), resulting in value1' and value2'.
The double result is value1' + value2'. The result is pushed onto the operand stack.
The result of a dadd instruction is governed by the rules of IEEE arithmetic:
If either value1' or value2' is NaN, the result is NaN.
@@ -541,7 +541,7 @@
"
Description
The index is an unsigned byte. Both index and index + 1 must be indices into the local
-variable array of the current frame (§3.6). The local variable at index must contain a
+variable array of the current frame (3.6). The local variable at index must contain a
double. The value of the local variable at index is pushed onto the operand stack.
Notes
@@ -618,9 +618,9 @@
"
Description
The index is an unsigned byte. Both index and index + 1 must be indices
- into the local variable array of the current frame (§3.6). The value on
+ into the local variable array of the current frame (3.6). The value on
the top of the operand stack must be of type double. It is popped from
- the operand stack and undergoes value set conversion (§3.8.3), resulting
+ the operand stack and undergoes value set conversion (3.8.3), resulting
in value'. The local variables at index and index + 1 are set to value'.
Notes
@@ -641,9 +641,9 @@
"
Description
The index is an unsigned byte. Both index and index + 1 must be indices
- into the local variable array of the current frame (§3.6). The value on
+ into the local variable array of the current frame (3.6). The value on
the top of the operand stack must be of type double. It is popped from
- the operand stack and undergoes value set conversion (§3.8.3), resulting
+ the operand stack and undergoes value set conversion (3.8.3), resulting
in value'. The local variables at index and index + 1 are set to value'.
Notes
@@ -670,7 +670,7 @@
"
Description
Duplicate the top value on the operand stack and push the duplicated value onto the operand stack.
-The dup instruction must not be used unless value is a value of a category 1 computational type (§3.11.1).
+The dup instruction must not be used unless value is a value of a category 1 computational type (3.11.1).
"
"Modified: / 27-03-2011 / 21:19:49 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
@@ -679,8 +679,8 @@
dup2
"
Duplicate the top one or two operand stack values
-stack v 1: value2 value1 -> value2 value 1 value2 value1 where both value1 and value2 are values of a category 1 computational type (§3.11.1).
-stack v 2: value1 -> value1 value1 where value is a value of a category 2 computational type (§3.11.1).
+stack v 1: value2 value1 -> value2 value 1 value2 value1 where both value1 and value2 are values of a category 1 computational type (3.11.1).
+stack v 2: value1 -> value1 value1 where value is a value of a category 2 computational type (3.11.1).
args: nothing
"
| tos |
@@ -788,7 +788,7 @@
"
Description
The index is an unsigned byte that must be an index into the local
-variable array of the current frame (§3.6). The local variable at
+variable array of the current frame (3.6). The local variable at
index must contain a float. The value of the local variable at index
is pushed onto the operand stack.
@@ -835,9 +835,9 @@
"
Description
The index is an unsigned byte that must be an index into the local
- variable array of the current frame (§3.6). The value on the top of
+ variable array of the current frame (3.6). The value on the top of
the operand stack must be of type float. It is popped from the operand
- stack and undergoes value set conversion (§3.8.3), resulting in value'.
+ stack and undergoes value set conversion (3.8.3), resulting in value'.
The value of the local variable at index is set to value'.
Notes
@@ -858,9 +858,9 @@
"
Description
The index is an unsigned byte that must be an index into the local
-variable array of the current frame (§3.6). The value on the top of
+variable array of the current frame (3.6). The value on the top of
the operand stack must be of type float. It is popped from the operand
-stack and undergoes value set conversion (§3.8.3), resulting in value'.
+stack and undergoes value set conversion (3.8.3), resulting in value'.
The value of the local variable at index is set to value'.
Notes
@@ -937,13 +937,13 @@
"
Description
The unsigned indexbyte1 and indexbyte2 are used to construct an index into the
- runtime constant pool of the current class (§3.6), where the value of the index
+ runtime constant pool of the current class (3.6), where the value of the index
is (indexbyte1 << 8) | indexbyte2. The runtime constant pool item at that index
- must be a symbolic reference to a field (§5.1), which gives the name and descriptor
+ must be a symbolic reference to a field (5.1), which gives the name and descriptor
of the field as well as a symbolic reference to the class or interface in which the
- field is to be found. The referenced field is resolved (§5.4.3.2).
+ field is to be found. The referenced field is resolved (5.4.3.2).
On successful resolution of the field, the class or interface that declared the
- resolved field is initialized (§5.5) if that class or interface has not already
+ resolved field is initialized (5.5) if that class or interface has not already
been initialized.
The value of the class or interface field is fetched and pushed onto the operand stack.
@@ -1571,7 +1571,7 @@
"
Description
The index is an unsigned byte that must be an index into the local variable
-array of the current frame (§3.6). The const is an immediate signed byte.
+array of the current frame (3.6). The const is an immediate signed byte.
The local variable at index must contain an int. The value const is first
sign-extended to an int, and then the local variable at index is incremented
by that amount.
@@ -2258,18 +2258,18 @@
"
Description
The index is an unsigned byte that must be a valid index into the runtime constant
- pool of the current class (§3.6). The runtime constant pool entry at index either
+ pool of the current class (3.6). The runtime constant pool entry at index either
must be a runtime constant of type int or float, or must be a symbolic reference
- to a string literal (§5.1).
+ to a string literal (5.1).
If the runtime constant pool entry is a runtime constant of type int or float, the
numeric value of that runtime constant is pushed onto the operand stack as an int
or float, respectively.
Otherwise, the runtime constant pool entry must be a reference to an instance of
- class String representing a string literal (§5.1). A reference to that instance,
+ class String representing a string literal (5.1). A reference to that instance,
value, is pushed onto the operand stack.
Notes
- The ldc instruction can only be used to push a value of type float taken from the float value set (§3.3.2) because a constant of type float in the constant pool (§4.4.4) must be taken from the float value set."
+ The ldc instruction can only be used to push a value of type float taken from the float value set (3.3.2) because a constant of type float in the constant pool (4.4.4) must be taken from the float value set."
"Modified: / 14-03-2011 / 16:04:56 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!
@@ -2285,24 +2285,24 @@
"
Description
The unsigned indexbyte1 and indexbyte2 are assembled into an unsigned 16-bit
- index into the runtime constant pool of the current class (§3.6), where the
+ index into the runtime constant pool of the current class (3.6), where the
value of the index is calculated as (indexbyte1 << 8) | indexbyte2. The index
must be a valid index into the runtime constant pool of the current class.
The runtime constant pool entry at the index either must be a runtime constant
- of type int or float, or must be a symbolic reference to a string literal (§5.1).
+ of type int or float, or must be a symbolic reference to a string literal (5.1).
If the runtime constant pool entry is a runtime constant of type int or float,
the numeric value of that runtime constant is pushed onto the operand stack as
an int or float, respectively.
Otherwise, the runtime constant pool entry must be a reference to an instance
- of class String representing a string literal (§5.1). A reference to that
+ of class String representing a string literal (5.1). A reference to that
instance, value, is pushed onto the operand stack.
Notes
The ldc_w instruction is identical to the ldc instruction except for its wider
runtime constant pool index.
The ldc_w instruction can only be used to push a value of type float taken from
- the float value set (§3.3.2) because a constant of type float in the constant
- pool (§4.4.4) must be taken from the float value set."
+ the float value set (3.3.2) because a constant of type float in the constant
+ pool (4.4.4) must be taken from the float value set."
"Modified: / 28-03-2011 / 18:04:31 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!
@@ -2317,10 +2317,10 @@
"
Description
The unsigned indexbyte1 and indexbyte2 are assembled into an unsigned 16-bit index
-into the runtime constant pool of the current class (§3.6), where the value of the
+into the runtime constant pool of the current class (3.6), where the value of the
index is calculated as (indexbyte1 << 8) | indexbyte2. The index must be a valid
index into the runtime constant pool of the current class. The runtime constant pool
-entry at the index must be a runtime constant of type long or double (§5.1). The
+entry at the index must be a runtime constant of type long or double (5.1). The
numeric value of that runtime constant is pushed onto the operand stack as a long
or double, respectively.
@@ -2328,7 +2328,7 @@
Only a wide-index version of the ldc2_w instruction exists; there is no ldc2 instruction
that pushes a long or double with a single-byte index.
The ldc2_w instruction can only be used to push a value of type double taken from the
-double value set (§3.3.2) because a constant of type double in the constant pool (§4.4.5)
+double value set (3.3.2) because a constant of type double in the constant pool (4.4.5)
must be taken from the double value set.
"
@@ -2358,7 +2358,7 @@
"
Description
The index is an unsigned byte. Both index and index + 1 must be indices
- into the local variable array of the current frame (§3.6). The local variable
+ into the local variable array of the current frame (3.6). The local variable
at index must contain a long. The value of the local variable at index is
pushed onto the operand stack.
@@ -2509,7 +2509,7 @@
"
Description
The index is an unsigned byte. Both index and index + 1 must be indices
- into the local variable array of the current frame (§3.6). The value on
+ into the local variable array of the current frame (3.6). The value on
the top of the operand stack must be of type long. It is popped from the
operand stack, and the local variables at index and index + 1 are set to
value.
@@ -2572,16 +2572,16 @@
"
Description
The unsigned indexbyte1 and indexbyte2 are used to construct an index into
- the runtime constant pool of the current class (§3.6), where the value of
+ the runtime constant pool of the current class (3.6), where the value of
the index is (indexbyte1 << 8) | indexbyte2. The runtime constant pool item
at the index must be a symbolic reference to a class, array, or interface
- type. The named class, array, or interface type is resolved (§5.4.3.1) and
+ type. The named class, array, or interface type is resolved (5.4.3.1) and
should result in a class type (it should not result in an array or interface
type). Memory for a new instance of that class is allocated from the
garbage-collected heap, and the instance variables of the new object are
- initialized to their default initial values (§2.5.1). The objectref, a reference
+ initialized to their default initial values (2.5.1). The objectref, a reference
to the instance, is pushed onto the operand stack.
- On successful resolution of the class, it is initialized (§5.5) if it has not
+ On successful resolution of the class, it is initialized (5.5) if it has not
already been initialized.
Linking Exceptions
@@ -2644,7 +2644,7 @@
A new array whose components are of type atype and of length count is allocated
from the garbage-collected heap. A reference arrayref to this new array object is pushed
into the operand stack. Each of the elements of the new array is initialized to the
-default initial value for the type of the array (§2.5.1).
+default initial value for the type of the array (2.5.1).
Runtime Exception
If count is less than zero, newarray throws a NegativeArraySizeException.
@@ -2676,8 +2676,8 @@
pop2
"
Pop the top one or two operand stack values
- stack v1: value2 value1 -> nothing where each of value1 and value2 is a value of a category 1 computational type (§3.11.1).
- stack v2: value -> nothing where value is a value of a category 2 computational type (§3.11.1).
+ stack v1: value2 value1 -> nothing where each of value1 and value2 is a value of a category 1 computational type (3.11.1).
+ stack v2: value -> nothing where value is a value of a category 2 computational type (3.11.1).
args: nothing
"
@@ -2888,7 +2888,7 @@
Description
Swap the top two values on the operand stack.
The swap instruction must not be used unless value1 and value2 are both
-values of a category 1 computational type (§3.11.1).
+values of a category 1 computational type (3.11.1).
Notes
The Java virtual machine does not provide an instruction implementing a
@@ -2987,7 +2987,7 @@
!JavaByteCodeInterpreter class methodsFor:'documentation'!
version_CVS
- ^ '$Header$'
+ ^ '$Header: /cvs/stx/stx/libjava/experiments/JavaByteCodeInterpreter.st,v 1.3 2013-09-06 00:44:04 vrany Exp $'
!
version_HG
@@ -2996,6 +2996,6 @@
!
version_SVN
- ^ '§Id§'
+ ^ 'Id'
! !