equal
deleted
inserted
replaced
67 Jan Vrany <jan.vrany@fit.cvut.cz> |
67 Jan Vrany <jan.vrany@fit.cvut.cz> |
68 |
68 |
69 [instance variables:] |
69 [instance variables:] |
70 |
70 |
71 [class variables:] |
71 [class variables:] |
|
72 |
|
73 [see also:] |
|
74 JavaByteCodeProcessorAdaptor |
72 |
75 |
73 [see also:] |
76 [see also:] |
74 JavaByteCodeProcessorAdaptor |
77 JavaByteCodeProcessorAdaptor |
75 |
78 |
76 |
79 |
357 |
360 |
358 ^ self subclassResponsibility |
361 ^ self subclassResponsibility |
359 " |
362 " |
360 Description |
363 Description |
361 The <n> must be an index into the local variable array of the |
364 The <n> must be an index into the local variable array of the |
362 current frame (§3.6). The local variable at <n> must contain a |
365 current frame (3.6). The local variable at <n> must contain a |
363 reference. The objectref in the local variable at index is pushed |
366 reference. The objectref in the local variable at index is pushed |
364 onto the operand stack. |
367 onto the operand stack. |
365 |
368 |
366 Notes |
369 Notes |
367 An aload_<n> instruction cannot be used to load a value of type |
370 An aload_<n> instruction cannot be used to load a value of type |
381 self aload: 0. |
384 self aload: 0. |
382 |
385 |
383 " |
386 " |
384 Description |
387 Description |
385 The <n> must be an index into the local variable array of the |
388 The <n> must be an index into the local variable array of the |
386 current frame (§3.6). The local variable at <n> must contain a |
389 current frame (3.6). The local variable at <n> must contain a |
387 reference. The objectref in the local variable at index is pushed |
390 reference. The objectref in the local variable at index is pushed |
388 onto the operand stack. |
391 onto the operand stack. |
389 |
392 |
390 Notes |
393 Notes |
391 An aload_<n> instruction cannot be used to load a value of type |
394 An aload_<n> instruction cannot be used to load a value of type |
648 "raise an error: must be redefined in concrete subclass(es)" |
651 "raise an error: must be redefined in concrete subclass(es)" |
649 |
652 |
650 ^ self subclassResponsibility |
653 ^ self subclassResponsibility |
651 " |
654 " |
652 Description |
655 Description |
653 Both <n> and <n> + 1 must be indices into the local variable array of the current frame (§3.6). |
656 Both <n> and <n> + 1 must be indices into the local variable array of the current frame (3.6). |
654 The local variable at <n> must contain a double. The value of the local variable at <n> is pushed |
657 The local variable at <n> must contain a double. The value of the local variable at <n> is pushed |
655 onto the operand stack. |
658 onto the operand stack. |
656 |
659 |
657 Notes |
660 Notes |
658 Each of the dload_<n> instructions is the same as dload with an index of <n>, except that the |
661 Each of the dload_<n> instructions is the same as dload with an index of <n>, except that the |
669 |
672 |
670 self dload: 0. |
673 self dload: 0. |
671 |
674 |
672 " |
675 " |
673 Description |
676 Description |
674 Both <n> and <n> + 1 must be indices into the local variable array of the current frame (§3.6). |
677 Both <n> and <n> + 1 must be indices into the local variable array of the current frame (3.6). |
675 The local variable at <n> must contain a double. The value of the local variable at <n> is pushed |
678 The local variable at <n> must contain a double. The value of the local variable at <n> is pushed |
676 onto the operand stack. |
679 onto the operand stack. |
677 |
680 |
678 Notes |
681 Notes |
679 Each of the dload_<n> instructions is the same as dload with an index of <n>, except that the |
682 Each of the dload_<n> instructions is the same as dload with an index of <n>, except that the |
745 |
748 |
746 ^ self subclassResponsibility |
749 ^ self subclassResponsibility |
747 " |
750 " |
748 Description |
751 Description |
749 Both <n> and <n> + 1 must be indices into the local variable array of the |
752 Both <n> and <n> + 1 must be indices into the local variable array of the |
750 current frame (§3.6). The value on the top of the operand stack must be of |
753 current frame (3.6). The value on the top of the operand stack must be of |
751 type double. It is popped from the operand stack and undergoes value set |
754 type double. It is popped from the operand stack and undergoes value set |
752 conversion (§3.8.3), resulting in value'. The local variables at <n> and |
755 conversion (3.8.3), resulting in value'. The local variables at <n> and |
753 <n> + 1 are set to value'. |
756 <n> + 1 are set to value'. |
754 |
757 |
755 Notes |
758 Notes |
756 Each of the dstore_<n> instructions is the same as dstore with an index |
759 Each of the dstore_<n> instructions is the same as dstore with an index |
757 of <n>, except that the operand <n> is implicit." |
760 of <n>, except that the operand <n> is implicit." |
768 self dstore: 0. |
771 self dstore: 0. |
769 |
772 |
770 " |
773 " |
771 Description |
774 Description |
772 Both <n> and <n> + 1 must be indices into the local variable array of the |
775 Both <n> and <n> + 1 must be indices into the local variable array of the |
773 current frame (§3.6). The value on the top of the operand stack must be of |
776 current frame (3.6). The value on the top of the operand stack must be of |
774 type double. It is popped from the operand stack and undergoes value set |
777 type double. It is popped from the operand stack and undergoes value set |
775 conversion (§3.8.3), resulting in value'. The local variables at <n> and |
778 conversion (3.8.3), resulting in value'. The local variables at <n> and |
776 <n> + 1 are set to value'. |
779 <n> + 1 are set to value'. |
777 |
780 |
778 Notes |
781 Notes |
779 Each of the dstore_<n> instructions is the same as dstore with an index |
782 Each of the dstore_<n> instructions is the same as dstore with an index |
780 of <n>, except that the operand <n> is implicit." |
783 of <n>, except that the operand <n> is implicit." |
791 |
794 |
792 self dstore: 1. |
795 self dstore: 1. |
793 " |
796 " |
794 Description |
797 Description |
795 Both <n> and <n> + 1 must be indices into the local variable array of the |
798 Both <n> and <n> + 1 must be indices into the local variable array of the |
796 current frame (§3.6). The value on the top of the operand stack must be of |
799 current frame (3.6). The value on the top of the operand stack must be of |
797 type double. It is popped from the operand stack and undergoes value set |
800 type double. It is popped from the operand stack and undergoes value set |
798 conversion (§3.8.3), resulting in value'. The local variables at <n> and |
801 conversion (3.8.3), resulting in value'. The local variables at <n> and |
799 <n> + 1 are set to value'. |
802 <n> + 1 are set to value'. |
800 |
803 |
801 Notes |
804 Notes |
802 Each of the dstore_<n> instructions is the same as dstore with an index |
805 Each of the dstore_<n> instructions is the same as dstore with an index |
803 of <n>, except that the operand <n> is implicit. |
806 of <n>, except that the operand <n> is implicit. |
815 self dstore: 2. |
818 self dstore: 2. |
816 |
819 |
817 " |
820 " |
818 Description |
821 Description |
819 Both <n> and <n> + 1 must be indices into the local variable array of the |
822 Both <n> and <n> + 1 must be indices into the local variable array of the |
820 current frame (§3.6). The value on the top of the operand stack must be of |
823 current frame (3.6). The value on the top of the operand stack must be of |
821 type double. It is popped from the operand stack and undergoes value set |
824 type double. It is popped from the operand stack and undergoes value set |
822 conversion (§3.8.3), resulting in value'. The local variables at <n> and |
825 conversion (3.8.3), resulting in value'. The local variables at <n> and |
823 <n> + 1 are set to value'. |
826 <n> + 1 are set to value'. |
824 |
827 |
825 Notes |
828 Notes |
826 Each of the dstore_<n> instructions is the same as dstore with an index |
829 Each of the dstore_<n> instructions is the same as dstore with an index |
827 of <n>, except that the operand <n> is implicit." |
830 of <n>, except that the operand <n> is implicit." |
838 self dstore: 3. |
841 self dstore: 3. |
839 |
842 |
840 " |
843 " |
841 Description |
844 Description |
842 Both <n> and <n> + 1 must be indices into the local variable array of the |
845 Both <n> and <n> + 1 must be indices into the local variable array of the |
843 current frame (§3.6). The value on the top of the operand stack must be of |
846 current frame (3.6). The value on the top of the operand stack must be of |
844 type double. It is popped from the operand stack and undergoes value set |
847 type double. It is popped from the operand stack and undergoes value set |
845 conversion (§3.8.3), resulting in value'. The local variables at <n> and |
848 conversion (3.8.3), resulting in value'. The local variables at <n> and |
846 <n> + 1 are set to value'. |
849 <n> + 1 are set to value'. |
847 |
850 |
848 Notes |
851 Notes |
849 Each of the dstore_<n> instructions is the same as dstore with an index |
852 Each of the dstore_<n> instructions is the same as dstore with an index |
850 of <n>, except that the operand <n> is implicit." |
853 of <n>, except that the operand <n> is implicit." |
1111 |
1114 |
1112 ^ self subclassResponsibility |
1115 ^ self subclassResponsibility |
1113 " |
1116 " |
1114 Description |
1117 Description |
1115 The index is an unsigned byte that must be an index into the local |
1118 The index is an unsigned byte that must be an index into the local |
1116 variable array of the current frame (§3.6). The value on the top of |
1119 variable array of the current frame (3.6). The value on the top of |
1117 the operand stack must be of type float. It is popped from the operand |
1120 the operand stack must be of type float. It is popped from the operand |
1118 stack and undergoes value set conversion (§3.8.3), resulting in value'. |
1121 stack and undergoes value set conversion (3.8.3), resulting in value'. |
1119 The value of the local variable at index is set to value'. |
1122 The value of the local variable at index is set to value'. |
1120 |
1123 |
1121 Notes |
1124 Notes |
1122 The fstore opcode can be used in conjunction with the wide instruction |
1125 The fstore opcode can be used in conjunction with the wide instruction |
1123 to access a local variable using a two-byte unsigned index." |
1126 to access a local variable using a two-byte unsigned index." |
1134 self fstore: 0. |
1137 self fstore: 0. |
1135 |
1138 |
1136 " |
1139 " |
1137 Description |
1140 Description |
1138 The index is an unsigned byte that must be an index into the local |
1141 The index is an unsigned byte that must be an index into the local |
1139 variable array of the current frame (§3.6). The value on the top of |
1142 variable array of the current frame (3.6). The value on the top of |
1140 the operand stack must be of type float. It is popped from the operand |
1143 the operand stack must be of type float. It is popped from the operand |
1141 stack and undergoes value set conversion (§3.8.3), resulting in value'. |
1144 stack and undergoes value set conversion (3.8.3), resulting in value'. |
1142 The value of the local variable at index is set to value'. |
1145 The value of the local variable at index is set to value'. |
1143 |
1146 |
1144 Notes |
1147 Notes |
1145 The fstore opcode can be used in conjunction with the wide instruction |
1148 The fstore opcode can be used in conjunction with the wide instruction |
1146 to access a local variable using a two-byte unsigned index." |
1149 to access a local variable using a two-byte unsigned index." |
1157 self fstore: 1. |
1160 self fstore: 1. |
1158 |
1161 |
1159 " |
1162 " |
1160 Description |
1163 Description |
1161 The index is an unsigned byte that must be an index into the local |
1164 The index is an unsigned byte that must be an index into the local |
1162 variable array of the current frame (§3.6). The value on the top of |
1165 variable array of the current frame (3.6). The value on the top of |
1163 the operand stack must be of type float. It is popped from the operand |
1166 the operand stack must be of type float. It is popped from the operand |
1164 stack and undergoes value set conversion (§3.8.3), resulting in value'. |
1167 stack and undergoes value set conversion (3.8.3), resulting in value'. |
1165 The value of the local variable at index is set to value'. |
1168 The value of the local variable at index is set to value'. |
1166 |
1169 |
1167 Notes |
1170 Notes |
1168 The fstore opcode can be used in conjunction with the wide instruction |
1171 The fstore opcode can be used in conjunction with the wide instruction |
1169 to access a local variable using a two-byte unsigned index." |
1172 to access a local variable using a two-byte unsigned index." |
1180 self fstore: 2. |
1183 self fstore: 2. |
1181 |
1184 |
1182 " |
1185 " |
1183 Description |
1186 Description |
1184 The index is an unsigned byte that must be an index into the local |
1187 The index is an unsigned byte that must be an index into the local |
1185 variable array of the current frame (§3.6). The value on the top of |
1188 variable array of the current frame (3.6). The value on the top of |
1186 the operand stack must be of type float. It is popped from the operand |
1189 the operand stack must be of type float. It is popped from the operand |
1187 stack and undergoes value set conversion (§3.8.3), resulting in value'. |
1190 stack and undergoes value set conversion (3.8.3), resulting in value'. |
1188 The value of the local variable at index is set to value'. |
1191 The value of the local variable at index is set to value'. |
1189 |
1192 |
1190 Notes |
1193 Notes |
1191 The fstore opcode can be used in conjunction with the wide instruction |
1194 The fstore opcode can be used in conjunction with the wide instruction |
1192 to access a local variable using a two-byte unsigned index." |
1195 to access a local variable using a two-byte unsigned index." |
1203 self fstore: 3. |
1206 self fstore: 3. |
1204 |
1207 |
1205 " |
1208 " |
1206 Description |
1209 Description |
1207 The index is an unsigned byte that must be an index into the local |
1210 The index is an unsigned byte that must be an index into the local |
1208 variable array of the current frame (§3.6). The value on the top of |
1211 variable array of the current frame (3.6). The value on the top of |
1209 the operand stack must be of type float. It is popped from the operand |
1212 the operand stack must be of type float. It is popped from the operand |
1210 stack and undergoes value set conversion (§3.8.3), resulting in value'. |
1213 stack and undergoes value set conversion (3.8.3), resulting in value'. |
1211 The value of the local variable at index is set to value'. |
1214 The value of the local variable at index is set to value'. |
1212 |
1215 |
1213 Notes |
1216 Notes |
1214 The fstore opcode can be used in conjunction with the wide instruction |
1217 The fstore opcode can be used in conjunction with the wide instruction |
1215 to access a local variable using a two-byte unsigned index." |
1218 to access a local variable using a two-byte unsigned index." |
1930 ^ self subclassResponsibility. |
1933 ^ self subclassResponsibility. |
1931 |
1934 |
1932 " |
1935 " |
1933 Description |
1936 Description |
1934 Both <n> and <n> + 1 must be indices into the local variable array of the |
1937 Both <n> and <n> + 1 must be indices into the local variable array of the |
1935 current frame (§3.6). The local variable at <n> must contain a long. The |
1938 current frame (3.6). The local variable at <n> must contain a long. The |
1936 value of the local variable at <n> is pushed onto the operand stack. |
1939 value of the local variable at <n> is pushed onto the operand stack. |
1937 |
1940 |
1938 Notes |
1941 Notes |
1939 Each of the lload_<n> instructions is the same as lload with an index |
1942 Each of the lload_<n> instructions is the same as lload with an index |
1940 of <n>, except that the operand <n> is implicit." |
1943 of <n>, except that the operand <n> is implicit." |
1951 self lload: 0. |
1954 self lload: 0. |
1952 |
1955 |
1953 " |
1956 " |
1954 Description |
1957 Description |
1955 Both <n> and <n> + 1 must be indices into the local variable array of the |
1958 Both <n> and <n> + 1 must be indices into the local variable array of the |
1956 current frame (§3.6). The local variable at <n> must contain a long. The |
1959 current frame (3.6). The local variable at <n> must contain a long. The |
1957 value of the local variable at <n> is pushed onto the operand stack. |
1960 value of the local variable at <n> is pushed onto the operand stack. |
1958 |
1961 |
1959 Notes |
1962 Notes |
1960 Each of the lload_<n> instructions is the same as lload with an index |
1963 Each of the lload_<n> instructions is the same as lload with an index |
1961 of <n>, except that the operand <n> is implicit. |
1964 of <n>, except that the operand <n> is implicit. |
2066 self lstore: 0. |
2069 self lstore: 0. |
2067 |
2070 |
2068 " |
2071 " |
2069 Description |
2072 Description |
2070 Both <n> and <n> + 1 must be indices into the local variable array of the |
2073 Both <n> and <n> + 1 must be indices into the local variable array of the |
2071 current frame (§3.6). The value on the top of the operand stack must be |
2074 current frame (3.6). The value on the top of the operand stack must be |
2072 of type long. It is popped from the operand stack, and the local variables |
2075 of type long. It is popped from the operand stack, and the local variables |
2073 at <n> and <n> + 1 are set to value. |
2076 at <n> and <n> + 1 are set to value. |
2074 |
2077 |
2075 Notes |
2078 Notes |
2076 Each of the lstore_<n> instructions is the same as lstore with an index |
2079 Each of the lstore_<n> instructions is the same as lstore with an index |
2087 self lstore: 1. |
2090 self lstore: 1. |
2088 |
2091 |
2089 " |
2092 " |
2090 Description |
2093 Description |
2091 Both <n> and <n> + 1 must be indices into the local variable array of the |
2094 Both <n> and <n> + 1 must be indices into the local variable array of the |
2092 current frame (§3.6). The value on the top of the operand stack must be |
2095 current frame (3.6). The value on the top of the operand stack must be |
2093 of type long. It is popped from the operand stack, and the local variables |
2096 of type long. It is popped from the operand stack, and the local variables |
2094 at <n> and <n> + 1 are set to value. |
2097 at <n> and <n> + 1 are set to value. |
2095 |
2098 |
2096 Notes |
2099 Notes |
2097 Each of the lstore_<n> instructions is the same as lstore with an index |
2100 Each of the lstore_<n> instructions is the same as lstore with an index |
2108 self lstore: 2. |
2111 self lstore: 2. |
2109 |
2112 |
2110 " |
2113 " |
2111 Description |
2114 Description |
2112 Both <n> and <n> + 1 must be indices into the local variable array of the |
2115 Both <n> and <n> + 1 must be indices into the local variable array of the |
2113 current frame (§3.6). The value on the top of the operand stack must be |
2116 current frame (3.6). The value on the top of the operand stack must be |
2114 of type long. It is popped from the operand stack, and the local variables |
2117 of type long. It is popped from the operand stack, and the local variables |
2115 at <n> and <n> + 1 are set to value. |
2118 at <n> and <n> + 1 are set to value. |
2116 |
2119 |
2117 Notes |
2120 Notes |
2118 Each of the lstore_<n> instructions is the same as lstore with an index |
2121 Each of the lstore_<n> instructions is the same as lstore with an index |
2129 self lstore: 3. |
2132 self lstore: 3. |
2130 |
2133 |
2131 " |
2134 " |
2132 Description |
2135 Description |
2133 Both <n> and <n> + 1 must be indices into the local variable array of the |
2136 Both <n> and <n> + 1 must be indices into the local variable array of the |
2134 current frame (§3.6). The value on the top of the operand stack must be |
2137 current frame (3.6). The value on the top of the operand stack must be |
2135 of type long. It is popped from the operand stack, and the local variables |
2138 of type long. It is popped from the operand stack, and the local variables |
2136 at <n> and <n> + 1 are set to value. |
2139 at <n> and <n> + 1 are set to value. |
2137 |
2140 |
2138 Notes |
2141 Notes |
2139 Each of the lstore_<n> instructions is the same as lstore with an index |
2142 Each of the lstore_<n> instructions is the same as lstore with an index |
2577 ! ! |
2580 ! ! |
2578 |
2581 |
2579 !JavaByteCodeProcessor class methodsFor:'documentation'! |
2582 !JavaByteCodeProcessor class methodsFor:'documentation'! |
2580 |
2583 |
2581 version |
2584 version |
2582 ^ '$Header: /cvs/stx/stx/libjava/JavaByteCodeProcessor.st,v 1.5 2013-02-25 11:15:31 vrany Exp $' |
2585 ^ '$Header: /cvs/stx/stx/libjava/JavaByteCodeProcessor.st,v 1.6 2013-09-06 00:41:14 vrany Exp $' |
2583 ! |
2586 ! |
2584 |
2587 |
2585 version_CVS |
2588 version_CVS |
2586 ^ '$Header$' |
2589 ^ '$Header: /cvs/stx/stx/libjava/JavaByteCodeProcessor.st,v 1.6 2013-09-06 00:41:14 vrany Exp $' |
2587 ! |
2590 ! |
2588 |
2591 |
2589 version_HG |
2592 version_HG |
2590 |
2593 |
2591 ^ '$Changeset: <not expanded> $' |
2594 ^ '$Changeset: <not expanded> $' |
2592 ! |
2595 ! |
2593 |
2596 |
2594 version_SVN |
2597 version_SVN |
2595 ^ '§Id§' |
2598 ^ 'Id' |
2596 ! ! |
2599 ! ! |
2597 |
2600 |
2598 |
2601 |
2599 JavaByteCodeProcessor initialize! |
2602 JavaByteCodeProcessor initialize! |