[svn:parrot] r46782 - in trunk: docs/book/pir examples/tutorial src/dynoplibs src/ops t/dynoplibs t/op

plobsing at svn.parrot.org plobsing at svn.parrot.org
Wed May 19 08:55:34 UTC 2010


Author: plobsing
Date: Wed May 19 08:55:32 2010
New Revision: 46782
URL: https://trac.parrot.org/parrot/changeset/46782

Log:
move clear[insp], set[insp]_ind and exchange to deprecated dynops lib

Added:
   trunk/src/dynoplibs/deprecated.ops
   trunk/t/dynoplibs/deprecated.t
Modified:
   trunk/docs/book/pir/ch04_variables.pod
   trunk/examples/tutorial/12_math_ops_pasm.pir
   trunk/src/dynoplibs/Defines.in
   trunk/src/dynoplibs/Rules.in
   trunk/src/ops/ops.num
   trunk/src/ops/set.ops
   trunk/t/op/integer.t
   trunk/t/op/jit.t
   trunk/t/op/number.t
   trunk/t/op/string.t

Modified: trunk/docs/book/pir/ch04_variables.pod
==============================================================================
--- trunk/docs/book/pir/ch04_variables.pod	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/docs/book/pir/ch04_variables.pod	Wed May 19 08:55:32 2010	(r46782)
@@ -31,17 +31,6 @@
 
 =end PIR_FRAGMENT
 
-X<exchange opcode>
-The C<exchange> opcode swaps the contents of two variables of the same type.
-This example sets C<$I0> to the value of C<$I1> and sets C<$I1> to the value
-of C<$I0>.
-
-=begin PIR_FRAGMENT
-
-  exchange $I0, $I1
-
-=end PIR_FRAGMENT
-
 X<null opcode>
 The C<null> opcode sets an integer or number variable to a zero value,
 and undefines a string or object.
@@ -99,12 +88,12 @@
 modify the argument in place. Some of the most common unary numeric
 opcodes are C<inc> (increment)X<inc opcode>, C<dec> (decrement)X<dec
 opcode>, C<abs> (absolute value)X<abs opcode>, C<neg> (negate)X<neg
-opcode>, and C<fact> (factorial)X<fact opcode>:
+opcode>:
 
 =begin PIR_FRAGMENT
 
   $N0 = abs -5.0  # the absolute value of -5.0 is 5.0
-  $I1 = fact  5   # the factorial of 5 is 120
+  $I0 = 120
   inc $I1         # 120 incremented by 1 is 121
 
 =end PIR_FRAGMENT

Modified: trunk/examples/tutorial/12_math_ops_pasm.pir
==============================================================================
--- trunk/examples/tutorial/12_math_ops_pasm.pir	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/examples/tutorial/12_math_ops_pasm.pir	Wed May 19 08:55:32 2010	(r46782)
@@ -9,8 +9,14 @@
 For a large list of the various mathematical operations supported by Parrot,
 see the documentation at F<src/ops/math.ops>.
 
+Some uncommon math operations have opcodes packaged with Parrot but not part of
+core. These must be loaded as libraries. see the documentation at
+F<src/dynoplibs/math.ops>, F<src/dynoplibs/obscure.ops>.
+
 =cut
 
+.loadlib 'obscure_ops' # fact lives in the obscure dynops lib
+
 .sub main :main
     $N0 = abs -5.0  # the absolute value of -5.0 is 5.0
     print $N0

Modified: trunk/src/dynoplibs/Defines.in
==============================================================================
--- trunk/src/dynoplibs/Defines.in	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/src/dynoplibs/Defines.in	Wed May 19 08:55:32 2010	(r46782)
@@ -1,6 +1,7 @@
 DYNOPLIBS_TARGETS = \
     $(DYNEXT_DIR)/obscure_ops$(LOAD_EXT) \
     $(DYNEXT_DIR)/math_ops$(LOAD_EXT) \
+    $(DYNEXT_DIR)/deprecated_ops$(LOAD_EXT) \
 
 DYNOPLIBS_CLEANUPS = \
     src/dynoplibs/*.c \

Modified: trunk/src/dynoplibs/Rules.in
==============================================================================
--- trunk/src/dynoplibs/Rules.in	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/src/dynoplibs/Rules.in	Wed May 19 08:55:32 2010	(r46782)
@@ -2,20 +2,25 @@
 # Each opslib must be compiled with several variants.
 #
 
+DYNOP_O_DEPS = \
+    include/pmc/pmc_parrotlibrary.h \
+    $(PARROT_H_HEADERS) \
+    include/parrot/runcore_api.h
+
 $(DYNEXT_DIR)/obscure_ops$(LOAD_EXT): src/dynoplibs/obscure_ops$(O) $(LIBPARROT)
 	$(LD) @ld_out@$@ src/dynoplibs/obscure_ops$(O) $(LINKARGS)
 #IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
 #IF(cygwin or hpux):	$(CHMOD) 0775 $@
 
-src/dynoplibs/obscure_ops$(O): include/pmc/pmc_parrotlibrary.h \
-    src/dynoplibs/obscure_ops.c $(PARROT_H_HEADERS) \
-    include/parrot/runcore_api.h src/dynoplibs/obscure_ops.h
+src/dynoplibs/obscure_ops$(O): $(DYNOP_O_DEPS) \
+    src/dynoplibs/obscure_ops.c include/parrot/runcore_api.h
 
 src/dynoplibs/obscure_ops.h: src/dynoplibs/obscure_ops.c
 
 src/dynoplibs/obscure_ops.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
 	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/obscure.ops
 
+
 $(DYNEXT_DIR)/math_ops$(LOAD_EXT): src/dynoplibs/math_ops$(O) $(LIBPARROT)
 	$(LD) @ld_out@$@ src/dynoplibs/math_ops$(O) $(LINKARGS)
 #IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
@@ -24,9 +29,21 @@
 src/dynoplibs/math_ops.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
 	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/math.ops
 
-src/dynoplibs/math_ops$(O): include/pmc/pmc_parrotlibrary.h \
-    src/dynoplibs/math_ops.c $(PARROT_H_HEADERS) \
-    include/parrot/runcore_api.h src/dynoplibs/math_ops.h
+src/dynoplibs/math_ops$(O): $(DYNOP_O_DEPS) \
+    src/dynoplibs/math_ops.c src/dynoplibs/math_ops.h
 
 src/dynoplibs/math_ops.h: src/dynoplibs/math_ops.c
 
+
+$(DYNEXT_DIR)/deprecated_ops$(LOAD_EXT): src/dynoplibs/deprecated_ops$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/deprecated_ops$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/deprecated_ops$(O): $(DYNOP_O_DEPS) \
+    src/dynoplibs/deprecated_ops.c src/dynoplibs/deprecated_ops.h
+
+src/dynoplibs/deprecated_ops.h: src/dynoplibs/deprecated_ops.c
+
+src/dynoplibs/deprecated_ops.c: src/dynoplibs/deprecated.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/deprecated.ops

Added: trunk/src/dynoplibs/deprecated.ops
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/dynoplibs/deprecated.ops	Wed May 19 08:55:32 2010	(r46782)
@@ -0,0 +1,166 @@
+/*
+ * $Id$
+ * deprecated.ops
+ */
+
+=head1 NAME
+
+deprecated.ops - Deprecated Opcodes
+
+=head1 DESCRIPTION
+
+These operations are slated for complete removal once their deprecation period
+expires but have been moved out of core on another ticket.
+
+=over 4
+
+=cut
+
+########################################
+
+=item B<exchange>(inout INT, inout INT)
+
+=item B<exchange>(inout NUM, inout NUM)
+
+=item B<exchange>(inout PMC, inout PMC)
+
+=item B<exchange>(inout STR, inout STR)
+
+Exchange the contents of registers $1 and $2
+
+=cut
+
+op exchange(inout INT, inout INT) :base_core {
+    const INTVAL temp = $1;
+    $1 = $2;
+    $2 = temp;
+}
+
+op exchange(inout PMC, inout PMC) :base_core {
+    PMC * const temp = $1;
+    $1 = $2;
+    $2 = temp;
+}
+
+op exchange(inout NUM, inout NUM) :base_core {
+    FLOATVAL temp = $1;
+    $1 = $2;
+    $2 = temp;
+}
+
+op exchange(inout STR, inout STR) :base_core {
+    STRING * const temp = $1;
+    $1 = $2;
+    $2 = temp;
+}
+
+=item B<setp_ind>(in INT, invar PMC)
+
+Set the PMC in register $1 to $2.
+Please note, that the register allocator doesn't track the usage of the
+affected register - handle with care.
+
+=cut
+
+inline op setp_ind(in INT, invar PMC) :base_ref {
+    if ($1 < 0 || $1 >= NUM_REGISTERS)
+        PANIC(interp, "Out of bound register access");
+    REG_PMC(interp, $1) = $2;
+}
+
+=item B<setn_ind>(in INT, in NUM)
+
+Set the number in register $1 to $2.
+Please note, that the register allocator doesn't track the usage of the
+affected register - handle with care.
+
+=cut
+
+inline op setn_ind(in INT, in NUM) :base_ref {
+    if ($1 < 0 || $1 >= NUM_REGISTERS)
+        PANIC(interp, "Out of bound register access");
+    REG_NUM(interp, $1) = $2;
+}
+
+=item B<sets_ind>(in INT, in STR)
+
+Set the string in register $1 to $2.
+Please note, that the register allocator doesn't track the usage of the
+affected register - handle with care.
+
+=cut
+
+inline op sets_ind(in INT, in STR) :base_ref {
+    if ($1 < 0 || $1 >= NUM_REGISTERS)
+        PANIC(interp, "Out of bound register access");
+    REG_STR(interp, $1) = $2;
+}
+
+=item B<seti_ind>(in INT, in INT)
+
+Set the int in register $1 to $2.
+Please note, that the register allocator doesn't track the usage of the
+affected register - handle with care.
+
+=cut
+
+inline op seti_ind(in INT, in INT) :base_ref {
+    if ($1 < 0 || $1 >= NUM_REGISTERS)
+        PANIC(interp, "Out of bound register access");
+    REG_INT(interp, $1) = $2;
+}
+
+########################################
+
+=item B<cleari>()
+
+=item B<clearn>()
+
+=item B<clearp>()
+
+=item B<clears>()
+
+Clear all the registers of the type indicated in the name of the operation.
+
+INTVAL ('i') and FLOATVAL ('n') registers clear to zero.
+
+PMC ('p') and STRING ('s') registers clear to NULL.
+
+=cut
+
+inline op cleari() :base_core {
+    Parrot_clear_i(interp);
+}
+
+inline op clearn() :base_core {
+    Parrot_clear_n(interp);
+}
+
+inline op clears() :base_core {
+    Parrot_clear_s(interp);
+}
+
+inline op clearp() :base_core {
+    Parrot_clear_p(interp);
+}
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright (C) 2010, Parrot Foundation.
+
+=head1 LICENSE
+
+This program is free software. It is subject to the same license
+as the Parrot interpreter itself.
+
+=cut
+
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Modified: trunk/src/ops/ops.num
==============================================================================
--- trunk/src/ops/ops.num	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/src/ops/ops.num	Wed May 19 08:55:32 2010	(r46782)
@@ -878,369 +878,347 @@
 morph_p_pc                      854
 clone_s_s                       855
 clone_s_sc                      856
-exchange_i_i                    857
-exchange_p_p                    858
-exchange_n_n                    859
-exchange_s_s                    860
-set_i_i                         861
-set_i_ic                        862
-set_i_n                         863
-set_i_nc                        864
-set_i_s                         865
-set_i_sc                        866
-set_n_n                         867
-set_n_nc                        868
-set_n_i                         869
-set_n_ic                        870
-set_n_s                         871
-set_n_sc                        872
-set_n_p                         873
-set_s_p                         874
-set_s_s                         875
-set_s_sc                        876
-set_s_i                         877
-set_s_ic                        878
-set_s_n                         879
-set_s_nc                        880
-set_p_pc                        881
-set_p_p                         882
-set_p_i                         883
-set_p_ic                        884
-set_p_n                         885
-set_p_nc                        886
-set_p_s                         887
-set_p_sc                        888
-set_i_p                         889
-assign_p_p                      890
-assign_p_i                      891
-assign_p_ic                     892
-assign_p_n                      893
-assign_p_nc                     894
-assign_p_s                      895
-assign_p_sc                     896
-assign_s_s                      897
-assign_s_sc                     898
-setref_p_p                      899
-deref_p_p                       900
-setp_ind_i_p                    901
-setp_ind_ic_p                   902
-setn_ind_i_n                    903
-setn_ind_ic_n                   904
-setn_ind_i_nc                   905
-setn_ind_ic_nc                  906
-sets_ind_i_s                    907
-sets_ind_ic_s                   908
-sets_ind_i_sc                   909
-sets_ind_ic_sc                  910
-seti_ind_i_i                    911
-seti_ind_ic_i                   912
-seti_ind_i_ic                   913
-seti_ind_ic_ic                  914
-set_p_ki_i                      915
-set_p_kic_i                     916
-set_p_ki_ic                     917
-set_p_kic_ic                    918
-set_p_ki_n                      919
-set_p_kic_n                     920
-set_p_ki_nc                     921
-set_p_kic_nc                    922
-set_p_ki_s                      923
-set_p_kic_s                     924
-set_p_ki_sc                     925
-set_p_kic_sc                    926
-set_p_ki_p                      927
-set_p_kic_p                     928
-set_i_p_ki                      929
-set_i_p_kic                     930
-set_n_p_ki                      931
-set_n_p_kic                     932
-set_s_p_ki                      933
-set_s_p_kic                     934
-set_p_p_ki                      935
-set_p_p_kic                     936
-set_p_k_i                       937
-set_p_kc_i                      938
-set_p_k_ic                      939
-set_p_kc_ic                     940
-set_p_k_n                       941
-set_p_kc_n                      942
-set_p_k_nc                      943
-set_p_kc_nc                     944
-set_p_k_s                       945
-set_p_kc_s                      946
-set_p_k_sc                      947
-set_p_kc_sc                     948
-set_p_k_p                       949
-set_p_kc_p                      950
-set_i_p_k                       951
-set_i_p_kc                      952
-set_n_p_k                       953
-set_n_p_kc                      954
-set_s_p_k                       955
-set_s_p_kc                      956
-set_p_p_k                       957
-set_p_p_kc                      958
-clone_p_p                       959
-clone_p_p_p                     960
-clone_p_p_pc                    961
-copy_p_p                        962
-null_s                          963
-null_i                          964
-null_p                          965
-null_n                          966
-cleari                          967
-clearn                          968
-clears                          969
-clearp                          970
-ord_i_s                         971
-ord_i_sc                        972
-ord_i_s_i                       973
-ord_i_sc_i                      974
-ord_i_s_ic                      975
-ord_i_sc_ic                     976
-chr_s_i                         977
-chr_s_ic                        978
-chopn_s_s_i                     979
-chopn_s_sc_i                    980
-chopn_s_s_ic                    981
-chopn_s_sc_ic                   982
-concat_s_s                      983
-concat_s_sc                     984
-concat_p_p                      985
-concat_p_s                      986
-concat_p_sc                     987
-concat_s_s_s                    988
-concat_s_sc_s                   989
-concat_s_s_sc                   990
-concat_p_p_s                    991
-concat_p_p_sc                   992
-concat_p_p_p                    993
-repeat_s_s_i                    994
-repeat_s_sc_i                   995
-repeat_s_s_ic                   996
-repeat_s_sc_ic                  997
-repeat_p_p_i                    998
-repeat_p_p_ic                   999
-repeat_p_p_p                   1000
-repeat_p_i                     1001
-repeat_p_ic                    1002
-repeat_p_p                     1003
-length_i_s                     1004
-length_i_sc                    1005
-bytelength_i_s                 1006
-bytelength_i_sc                1007
-pin_s                          1008
-unpin_s                        1009
-substr_s_s_i                   1010
-substr_s_sc_i                  1011
-substr_s_s_ic                  1012
-substr_s_sc_ic                 1013
-substr_s_s_i_i                 1014
-substr_s_sc_i_i                1015
-substr_s_s_ic_i                1016
-substr_s_sc_ic_i               1017
-substr_s_s_i_ic                1018
-substr_s_sc_i_ic               1019
-substr_s_s_ic_ic               1020
-substr_s_sc_ic_ic              1021
-substr_s_p_i_i                 1022
-substr_s_p_ic_i                1023
-substr_s_p_i_ic                1024
-substr_s_p_ic_ic               1025
-replace_s_s_i_i_s              1026
-replace_s_sc_i_i_s             1027
-replace_s_s_ic_i_s             1028
-replace_s_sc_ic_i_s            1029
-replace_s_s_i_ic_s             1030
-replace_s_sc_i_ic_s            1031
-replace_s_s_ic_ic_s            1032
-replace_s_sc_ic_ic_s           1033
-replace_s_s_i_i_sc             1034
-replace_s_sc_i_i_sc            1035
-replace_s_s_ic_i_sc            1036
-replace_s_sc_ic_i_sc           1037
-replace_s_s_i_ic_sc            1038
-replace_s_sc_i_ic_sc           1039
-replace_s_s_ic_ic_sc           1040
-replace_s_sc_ic_ic_sc          1041
-index_i_s_s                    1042
-index_i_sc_s                   1043
-index_i_s_sc                   1044
-index_i_sc_sc                  1045
-index_i_s_s_i                  1046
-index_i_sc_s_i                 1047
-index_i_s_sc_i                 1048
-index_i_sc_sc_i                1049
-index_i_s_s_ic                 1050
-index_i_sc_s_ic                1051
-index_i_s_sc_ic                1052
-index_i_sc_sc_ic               1053
-sprintf_s_s_p                  1054
-sprintf_s_sc_p                 1055
-sprintf_p_p_p                  1056
-new_s                          1057
-new_s_i                        1058
-new_s_ic                       1059
-stringinfo_i_s_i               1060
-stringinfo_i_sc_i              1061
-stringinfo_i_s_ic              1062
-stringinfo_i_sc_ic             1063
-upcase_s_s                     1064
-upcase_s_sc                    1065
-downcase_s_s                   1066
-downcase_s_sc                  1067
-titlecase_s_s                  1068
-titlecase_s_sc                 1069
-join_s_s_p                     1070
-join_s_sc_p                    1071
-split_p_s_s                    1072
-split_p_sc_s                   1073
-split_p_s_sc                   1074
-split_p_sc_sc                  1075
-charset_i_s                    1076
-charset_i_sc                   1077
-charsetname_s_i                1078
-charsetname_s_ic               1079
-find_charset_i_s               1080
-find_charset_i_sc              1081
-trans_charset_s_s_i            1082
-trans_charset_s_sc_i           1083
-trans_charset_s_s_ic           1084
-trans_charset_s_sc_ic          1085
-encoding_i_s                   1086
-encoding_i_sc                  1087
-encodingname_s_i               1088
-encodingname_s_ic              1089
-find_encoding_i_s              1090
-find_encoding_i_sc             1091
-trans_encoding_s_s_i           1092
-trans_encoding_s_sc_i          1093
-trans_encoding_s_s_ic          1094
-trans_encoding_s_sc_ic         1095
-is_cclass_i_i_s_i              1096
-is_cclass_i_ic_s_i             1097
-is_cclass_i_i_sc_i             1098
-is_cclass_i_ic_sc_i            1099
-is_cclass_i_i_s_ic             1100
-is_cclass_i_ic_s_ic            1101
-is_cclass_i_i_sc_ic            1102
-is_cclass_i_ic_sc_ic           1103
-find_cclass_i_i_s_i_i          1104
-find_cclass_i_ic_s_i_i         1105
-find_cclass_i_i_sc_i_i         1106
-find_cclass_i_ic_sc_i_i        1107
-find_cclass_i_i_s_ic_i         1108
-find_cclass_i_ic_s_ic_i        1109
-find_cclass_i_i_sc_ic_i        1110
-find_cclass_i_ic_sc_ic_i       1111
-find_cclass_i_i_s_i_ic         1112
-find_cclass_i_ic_s_i_ic        1113
-find_cclass_i_i_sc_i_ic        1114
-find_cclass_i_ic_sc_i_ic       1115
-find_cclass_i_i_s_ic_ic        1116
-find_cclass_i_ic_s_ic_ic       1117
-find_cclass_i_i_sc_ic_ic       1118
-find_cclass_i_ic_sc_ic_ic      1119
-find_not_cclass_i_i_s_i_i      1120
-find_not_cclass_i_ic_s_i_i     1121
-find_not_cclass_i_i_sc_i_i     1122
-find_not_cclass_i_ic_sc_i_i    1123
-find_not_cclass_i_i_s_ic_i     1124
-find_not_cclass_i_ic_s_ic_i    1125
-find_not_cclass_i_i_sc_ic_i    1126
-find_not_cclass_i_ic_sc_ic_i   1127
-find_not_cclass_i_i_s_i_ic     1128
-find_not_cclass_i_ic_s_i_ic    1129
-find_not_cclass_i_i_sc_i_ic    1130
-find_not_cclass_i_ic_sc_i_ic   1131
-find_not_cclass_i_i_s_ic_ic    1132
-find_not_cclass_i_ic_s_ic_ic   1133
-find_not_cclass_i_i_sc_ic_ic   1134
-find_not_cclass_i_ic_sc_ic_ic  1135
-escape_s_s                     1136
-compose_s_s                    1137
-compose_s_sc                   1138
-spawnw_i_s                     1139
-spawnw_i_sc                    1140
-spawnw_i_p                     1141
-err_i                          1142
-err_s                          1143
-err_s_i                        1144
-err_s_ic                       1145
-time_i                         1146
-time_n                         1147
-gmtime_s_i                     1148
-gmtime_s_ic                    1149
-localtime_s_i                  1150
-localtime_s_ic                 1151
-decodetime_p_i                 1152
-decodetime_p_ic                1153
-decodelocaltime_p_i            1154
-decodelocaltime_p_ic           1155
-sysinfo_s_i                    1156
-sysinfo_s_ic                   1157
-sysinfo_i_i                    1158
-sysinfo_i_ic                   1159
-sleep_i                        1160
-sleep_ic                       1161
-sleep_n                        1162
-sleep_nc                       1163
-store_lex_s_p                  1164
-store_lex_sc_p                 1165
-store_dynamic_lex_s_p          1166
-store_dynamic_lex_sc_p         1167
-find_lex_p_s                   1168
-find_lex_p_sc                  1169
-find_dynamic_lex_p_s           1170
-find_dynamic_lex_p_sc          1171
-find_caller_lex_p_s            1172
-find_caller_lex_p_sc           1173
-get_namespace_p                1174
-get_namespace_p_p              1175
-get_namespace_p_pc             1176
-get_hll_namespace_p            1177
-get_hll_namespace_p_p          1178
-get_hll_namespace_p_pc         1179
-get_root_namespace_p           1180
-get_root_namespace_p_p         1181
-get_root_namespace_p_pc        1182
-get_global_p_s                 1183
-get_global_p_sc                1184
-get_global_p_p_s               1185
-get_global_p_pc_s              1186
-get_global_p_p_sc              1187
-get_global_p_pc_sc             1188
-get_hll_global_p_s             1189
-get_hll_global_p_sc            1190
-get_hll_global_p_p_s           1191
-get_hll_global_p_pc_s          1192
-get_hll_global_p_p_sc          1193
-get_hll_global_p_pc_sc         1194
-get_root_global_p_s            1195
-get_root_global_p_sc           1196
-get_root_global_p_p_s          1197
-get_root_global_p_pc_s         1198
-get_root_global_p_p_sc         1199
-get_root_global_p_pc_sc        1200
-set_global_s_p                 1201
-set_global_sc_p                1202
-set_global_p_s_p               1203
-set_global_pc_s_p              1204
-set_global_p_sc_p              1205
-set_global_pc_sc_p             1206
-set_hll_global_s_p             1207
-set_hll_global_sc_p            1208
-set_hll_global_p_s_p           1209
-set_hll_global_pc_s_p          1210
-set_hll_global_p_sc_p          1211
-set_hll_global_pc_sc_p         1212
-set_root_global_s_p            1213
-set_root_global_sc_p           1214
-set_root_global_p_s_p          1215
-set_root_global_pc_s_p         1216
-set_root_global_p_sc_p         1217
-set_root_global_pc_sc_p        1218
-find_name_p_s                  1219
-find_name_p_sc                 1220
-find_sub_not_null_p_s          1221
-find_sub_not_null_p_sc         1222
+set_i_i                         857
+set_i_ic                        858
+set_i_n                         859
+set_i_nc                        860
+set_i_s                         861
+set_i_sc                        862
+set_n_n                         863
+set_n_nc                        864
+set_n_i                         865
+set_n_ic                        866
+set_n_s                         867
+set_n_sc                        868
+set_n_p                         869
+set_s_p                         870
+set_s_s                         871
+set_s_sc                        872
+set_s_i                         873
+set_s_ic                        874
+set_s_n                         875
+set_s_nc                        876
+set_p_pc                        877
+set_p_p                         878
+set_p_i                         879
+set_p_ic                        880
+set_p_n                         881
+set_p_nc                        882
+set_p_s                         883
+set_p_sc                        884
+set_i_p                         885
+assign_p_p                      886
+assign_p_i                      887
+assign_p_ic                     888
+assign_p_n                      889
+assign_p_nc                     890
+assign_p_s                      891
+assign_p_sc                     892
+assign_s_s                      893
+assign_s_sc                     894
+setref_p_p                      895
+deref_p_p                       896
+set_p_ki_i                      897
+set_p_kic_i                     898
+set_p_ki_ic                     899
+set_p_kic_ic                    900
+set_p_ki_n                      901
+set_p_kic_n                     902
+set_p_ki_nc                     903
+set_p_kic_nc                    904
+set_p_ki_s                      905
+set_p_kic_s                     906
+set_p_ki_sc                     907
+set_p_kic_sc                    908
+set_p_ki_p                      909
+set_p_kic_p                     910
+set_i_p_ki                      911
+set_i_p_kic                     912
+set_n_p_ki                      913
+set_n_p_kic                     914
+set_s_p_ki                      915
+set_s_p_kic                     916
+set_p_p_ki                      917
+set_p_p_kic                     918
+set_p_k_i                       919
+set_p_kc_i                      920
+set_p_k_ic                      921
+set_p_kc_ic                     922
+set_p_k_n                       923
+set_p_kc_n                      924
+set_p_k_nc                      925
+set_p_kc_nc                     926
+set_p_k_s                       927
+set_p_kc_s                      928
+set_p_k_sc                      929
+set_p_kc_sc                     930
+set_p_k_p                       931
+set_p_kc_p                      932
+set_i_p_k                       933
+set_i_p_kc                      934
+set_n_p_k                       935
+set_n_p_kc                      936
+set_s_p_k                       937
+set_s_p_kc                      938
+set_p_p_k                       939
+set_p_p_kc                      940
+clone_p_p                       941
+clone_p_p_p                     942
+clone_p_p_pc                    943
+copy_p_p                        944
+null_s                          945
+null_i                          946
+null_p                          947
+null_n                          948
+ord_i_s                         949
+ord_i_sc                        950
+ord_i_s_i                       951
+ord_i_sc_i                      952
+ord_i_s_ic                      953
+ord_i_sc_ic                     954
+chr_s_i                         955
+chr_s_ic                        956
+chopn_s_s_i                     957
+chopn_s_sc_i                    958
+chopn_s_s_ic                    959
+chopn_s_sc_ic                   960
+concat_s_s                      961
+concat_s_sc                     962
+concat_p_p                      963
+concat_p_s                      964
+concat_p_sc                     965
+concat_s_s_s                    966
+concat_s_sc_s                   967
+concat_s_s_sc                   968
+concat_p_p_s                    969
+concat_p_p_sc                   970
+concat_p_p_p                    971
+repeat_s_s_i                    972
+repeat_s_sc_i                   973
+repeat_s_s_ic                   974
+repeat_s_sc_ic                  975
+repeat_p_p_i                    976
+repeat_p_p_ic                   977
+repeat_p_p_p                    978
+repeat_p_i                      979
+repeat_p_ic                     980
+repeat_p_p                      981
+length_i_s                      982
+length_i_sc                     983
+bytelength_i_s                  984
+bytelength_i_sc                 985
+pin_s                           986
+unpin_s                         987
+substr_s_s_i                    988
+substr_s_sc_i                   989
+substr_s_s_ic                   990
+substr_s_sc_ic                  991
+substr_s_s_i_i                  992
+substr_s_sc_i_i                 993
+substr_s_s_ic_i                 994
+substr_s_sc_ic_i                995
+substr_s_s_i_ic                 996
+substr_s_sc_i_ic                997
+substr_s_s_ic_ic                998
+substr_s_sc_ic_ic               999
+substr_s_p_i_i                 1000
+substr_s_p_ic_i                1001
+substr_s_p_i_ic                1002
+substr_s_p_ic_ic               1003
+replace_s_s_i_i_s              1004
+replace_s_sc_i_i_s             1005
+replace_s_s_ic_i_s             1006
+replace_s_sc_ic_i_s            1007
+replace_s_s_i_ic_s             1008
+replace_s_sc_i_ic_s            1009
+replace_s_s_ic_ic_s            1010
+replace_s_sc_ic_ic_s           1011
+replace_s_s_i_i_sc             1012
+replace_s_sc_i_i_sc            1013
+replace_s_s_ic_i_sc            1014
+replace_s_sc_ic_i_sc           1015
+replace_s_s_i_ic_sc            1016
+replace_s_sc_i_ic_sc           1017
+replace_s_s_ic_ic_sc           1018
+replace_s_sc_ic_ic_sc          1019
+index_i_s_s                    1020
+index_i_sc_s                   1021
+index_i_s_sc                   1022
+index_i_sc_sc                  1023
+index_i_s_s_i                  1024
+index_i_sc_s_i                 1025
+index_i_s_sc_i                 1026
+index_i_sc_sc_i                1027
+index_i_s_s_ic                 1028
+index_i_sc_s_ic                1029
+index_i_s_sc_ic                1030
+index_i_sc_sc_ic               1031
+sprintf_s_s_p                  1032
+sprintf_s_sc_p                 1033
+sprintf_p_p_p                  1034
+new_s                          1035
+new_s_i                        1036
+new_s_ic                       1037
+stringinfo_i_s_i               1038
+stringinfo_i_sc_i              1039
+stringinfo_i_s_ic              1040
+stringinfo_i_sc_ic             1041
+upcase_s_s                     1042
+upcase_s_sc                    1043
+downcase_s_s                   1044
+downcase_s_sc                  1045
+titlecase_s_s                  1046
+titlecase_s_sc                 1047
+join_s_s_p                     1048
+join_s_sc_p                    1049
+split_p_s_s                    1050
+split_p_sc_s                   1051
+split_p_s_sc                   1052
+split_p_sc_sc                  1053
+charset_i_s                    1054
+charset_i_sc                   1055
+charsetname_s_i                1056
+charsetname_s_ic               1057
+find_charset_i_s               1058
+find_charset_i_sc              1059
+trans_charset_s_s_i            1060
+trans_charset_s_sc_i           1061
+trans_charset_s_s_ic           1062
+trans_charset_s_sc_ic          1063
+encoding_i_s                   1064
+encoding_i_sc                  1065
+encodingname_s_i               1066
+encodingname_s_ic              1067
+find_encoding_i_s              1068
+find_encoding_i_sc             1069
+trans_encoding_s_s_i           1070
+trans_encoding_s_sc_i          1071
+trans_encoding_s_s_ic          1072
+trans_encoding_s_sc_ic         1073
+is_cclass_i_i_s_i              1074
+is_cclass_i_ic_s_i             1075
+is_cclass_i_i_sc_i             1076
+is_cclass_i_ic_sc_i            1077
+is_cclass_i_i_s_ic             1078
+is_cclass_i_ic_s_ic            1079
+is_cclass_i_i_sc_ic            1080
+is_cclass_i_ic_sc_ic           1081
+find_cclass_i_i_s_i_i          1082
+find_cclass_i_ic_s_i_i         1083
+find_cclass_i_i_sc_i_i         1084
+find_cclass_i_ic_sc_i_i        1085
+find_cclass_i_i_s_ic_i         1086
+find_cclass_i_ic_s_ic_i        1087
+find_cclass_i_i_sc_ic_i        1088
+find_cclass_i_ic_sc_ic_i       1089
+find_cclass_i_i_s_i_ic         1090
+find_cclass_i_ic_s_i_ic        1091
+find_cclass_i_i_sc_i_ic        1092
+find_cclass_i_ic_sc_i_ic       1093
+find_cclass_i_i_s_ic_ic        1094
+find_cclass_i_ic_s_ic_ic       1095
+find_cclass_i_i_sc_ic_ic       1096
+find_cclass_i_ic_sc_ic_ic      1097
+find_not_cclass_i_i_s_i_i      1098
+find_not_cclass_i_ic_s_i_i     1099
+find_not_cclass_i_i_sc_i_i     1100
+find_not_cclass_i_ic_sc_i_i    1101
+find_not_cclass_i_i_s_ic_i     1102
+find_not_cclass_i_ic_s_ic_i    1103
+find_not_cclass_i_i_sc_ic_i    1104
+find_not_cclass_i_ic_sc_ic_i   1105
+find_not_cclass_i_i_s_i_ic     1106
+find_not_cclass_i_ic_s_i_ic    1107
+find_not_cclass_i_i_sc_i_ic    1108
+find_not_cclass_i_ic_sc_i_ic   1109
+find_not_cclass_i_i_s_ic_ic    1110
+find_not_cclass_i_ic_s_ic_ic   1111
+find_not_cclass_i_i_sc_ic_ic   1112
+find_not_cclass_i_ic_sc_ic_ic  1113
+escape_s_s                     1114
+compose_s_s                    1115
+compose_s_sc                   1116
+spawnw_i_s                     1117
+spawnw_i_sc                    1118
+spawnw_i_p                     1119
+err_i                          1120
+err_s                          1121
+err_s_i                        1122
+err_s_ic                       1123
+time_i                         1124
+time_n                         1125
+gmtime_s_i                     1126
+gmtime_s_ic                    1127
+localtime_s_i                  1128
+localtime_s_ic                 1129
+decodetime_p_i                 1130
+decodetime_p_ic                1131
+decodelocaltime_p_i            1132
+decodelocaltime_p_ic           1133
+sysinfo_s_i                    1134
+sysinfo_s_ic                   1135
+sysinfo_i_i                    1136
+sysinfo_i_ic                   1137
+sleep_i                        1138
+sleep_ic                       1139
+sleep_n                        1140
+sleep_nc                       1141
+store_lex_s_p                  1142
+store_lex_sc_p                 1143
+store_dynamic_lex_s_p          1144
+store_dynamic_lex_sc_p         1145
+find_lex_p_s                   1146
+find_lex_p_sc                  1147
+find_dynamic_lex_p_s           1148
+find_dynamic_lex_p_sc          1149
+find_caller_lex_p_s            1150
+find_caller_lex_p_sc           1151
+get_namespace_p                1152
+get_namespace_p_p              1153
+get_namespace_p_pc             1154
+get_hll_namespace_p            1155
+get_hll_namespace_p_p          1156
+get_hll_namespace_p_pc         1157
+get_root_namespace_p           1158
+get_root_namespace_p_p         1159
+get_root_namespace_p_pc        1160
+get_global_p_s                 1161
+get_global_p_sc                1162
+get_global_p_p_s               1163
+get_global_p_pc_s              1164
+get_global_p_p_sc              1165
+get_global_p_pc_sc             1166
+get_hll_global_p_s             1167
+get_hll_global_p_sc            1168
+get_hll_global_p_p_s           1169
+get_hll_global_p_pc_s          1170
+get_hll_global_p_p_sc          1171
+get_hll_global_p_pc_sc         1172
+get_root_global_p_s            1173
+get_root_global_p_sc           1174
+get_root_global_p_p_s          1175
+get_root_global_p_pc_s         1176
+get_root_global_p_p_sc         1177
+get_root_global_p_pc_sc        1178
+set_global_s_p                 1179
+set_global_sc_p                1180
+set_global_p_s_p               1181
+set_global_pc_s_p              1182
+set_global_p_sc_p              1183
+set_global_pc_sc_p             1184
+set_hll_global_s_p             1185
+set_hll_global_sc_p            1186
+set_hll_global_p_s_p           1187
+set_hll_global_pc_s_p          1188
+set_hll_global_p_sc_p          1189
+set_hll_global_pc_sc_p         1190
+set_root_global_s_p            1191
+set_root_global_sc_p           1192
+set_root_global_p_s_p          1193
+set_root_global_pc_s_p         1194
+set_root_global_p_sc_p         1195
+set_root_global_pc_sc_p        1196
+find_name_p_s                  1197
+find_name_p_sc                 1198
+find_sub_not_null_p_s          1199
+find_sub_not_null_p_sc         1200

Modified: trunk/src/ops/set.ops
==============================================================================
--- trunk/src/ops/set.ops	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/src/ops/set.ops	Wed May 19 08:55:32 2010	(r46782)
@@ -31,46 +31,6 @@
        : $2;
 }
 
-
-
-########################################
-
-=item B<exchange>(inout INT, inout INT)
-
-=item B<exchange>(inout NUM, inout NUM)
-
-=item B<exchange>(inout PMC, inout PMC)
-
-=item B<exchange>(inout STR, inout STR)
-
-Exchange the contents of registers $1 and $2
-
-=cut
-
-op exchange(inout INT, inout INT) :base_core {
-    const INTVAL temp = $1;
-    $1 = $2;
-    $2 = temp;
-}
-
-op exchange(inout PMC, inout PMC) :base_core {
-    PMC * const temp = $1;
-    $1 = $2;
-    $2 = temp;
-}
-
-op exchange(inout NUM, inout NUM) :base_core {
-    FLOATVAL temp = $1;
-    $1 = $2;
-    $2 = temp;
-}
-
-op exchange(inout STR, inout STR) :base_core {
-    STRING * const temp = $1;
-    $1 = $2;
-    $2 = temp;
-}
-
 ########################################
 
 =item B<set>(out INT, in INT)
@@ -259,68 +219,6 @@
 
 =back
 
-=head2 Indirect PMC register set
-
-=over 4
-
-=item B<setp_ind>(in INT, invar PMC)
-
-Set the PMC in register $1 to $2.
-Please note, that the register allocator doesn't track the usage of the
-affected register - handle with care.
-
-=cut
-
-inline op setp_ind(in INT, invar PMC) :base_ref {
-    if ($1 < 0 || $1 >= NUM_REGISTERS)
-        PANIC(interp, "Out of bound register access");
-    REG_PMC(interp, $1) = $2;
-}
-
-=item B<setn_ind>(in INT, in NUM)
-
-Set the number in register $1 to $2.
-Please note, that the register allocator doesn't track the usage of the
-affected register - handle with care.
-
-=cut
-
-inline op setn_ind(in INT, in NUM) :base_ref {
-    if ($1 < 0 || $1 >= NUM_REGISTERS)
-        PANIC(interp, "Out of bound register access");
-    REG_NUM(interp, $1) = $2;
-}
-
-=item B<sets_ind>(in INT, in STR)
-
-Set the string in register $1 to $2.
-Please note, that the register allocator doesn't track the usage of the
-affected register - handle with care.
-
-=cut
-
-inline op sets_ind(in INT, in STR) :base_ref {
-    if ($1 < 0 || $1 >= NUM_REGISTERS)
-        PANIC(interp, "Out of bound register access");
-    REG_STR(interp, $1) = $2;
-}
-
-=item B<seti_ind>(in INT, in INT)
-
-Set the int in register $1 to $2.
-Please note, that the register allocator doesn't track the usage of the
-affected register - handle with care.
-
-=cut
-
-inline op seti_ind(in INT, in INT) :base_ref {
-    if ($1 < 0 || $1 >= NUM_REGISTERS)
-        PANIC(interp, "Out of bound register access");
-    REG_INT(interp, $1) = $2;
-}
-
-=back
-
 =cut
 
 ########################################
@@ -573,40 +471,6 @@
     $1 = 0;
 }
 
-########################################
-
-=item B<cleari>()
-
-=item B<clearn>()
-
-=item B<clearp>()
-
-=item B<clears>()
-
-Clear all the registers of the type indicated in the name of the operation.
-
-INTVAL ('i') and FLOATVAL ('n') registers clear to zero.
-
-PMC ('p') and STRING ('s') registers clear to NULL.
-
-=cut
-
-inline op cleari() :base_core {
-    Parrot_clear_i(interp);
-}
-
-inline op clearn() :base_core {
-    Parrot_clear_n(interp);
-}
-
-inline op clears() :base_core {
-    Parrot_clear_s(interp);
-}
-
-inline op clearp() :base_core {
-    Parrot_clear_p(interp);
-}
-
 =back
 
 =cut

Added: trunk/t/dynoplibs/deprecated.t
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/deprecated.t	Wed May 19 08:55:32 2010	(r46782)
@@ -0,0 +1,282 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/dynoplibs/deprecated.t - Tests for Deprecated Ops
+
+=head1 SYNOPSIS
+
+    % prove t/dynoplibs/deprecated.t
+
+=head1 DESCRIPTION
+
+Tests for ops residing in src/dynoplibs/deprecated.ops
+
+=cut
+
+.const int TESTS = 105
+
+.loadlib 'deprecated_ops'
+
+.sub 'test' :main
+    .include 'test_more.pir'
+
+    plan(TESTS)
+
+    test_cleari()
+    test_exchange_i()
+    test_clearn()
+    test_exchange_n()
+    test_clears()
+    test_exchange_s()
+.end
+
+.sub 'test_exchange_i'
+    $I10 = 10
+    $I20 = 20
+    exchange $I10, $I20
+    is($I10, 20, 'exchange - first operand ok')
+    is($I20, 10, 'exchange - second operand ok')
+
+    $I30 = 30
+    exchange $I30, $I30
+    is($I30, 30, 'exchange - reflexive')
+.end
+
+
+.sub 'test_cleari'
+    $I0 = 0xdeadbee
+    $I1 = 0xdeadbee
+    $I2 = 0xdeadbee
+    $I3 = 0xdeadbee
+    $I4 = 0xdeadbee
+    $I5 = 0xdeadbee
+    $I6 = 0xdeadbee
+    $I7 = 0xdeadbee
+    $I8 = 0xdeadbee
+    $I9 = 0xdeadbee
+    $I10 = 0xdeadbee
+    $I11 = 0xdeadbee
+    $I12 = 0xdeadbee
+    $I13 = 0xdeadbee
+    $I14 = 0xdeadbee
+    $I15 = 0xdeadbee
+    $I16 = 0xdeadbee
+    $I17 = 0xdeadbee
+    $I18 = 0xdeadbee
+    $I19 = 0xdeadbee
+    $I20 = 0xdeadbee
+    $I21 = 0xdeadbee
+    $I22 = 0xdeadbee
+    $I23 = 0xdeadbee
+    $I24 = 0xdeadbee
+    $I25 = 0xdeadbee
+    $I26 = 0xdeadbee
+    $I27 = 0xdeadbee
+    $I28 = 0xdeadbee
+    $I29 = 0xdeadbee
+    $I30 = 0xdeadbee
+    $I31 = 0xdeadbee
+
+    cleari
+
+    is($I0, 0, 'cleari - $I0 cleared')
+    is($I1, 0, 'cleari - $I1 cleared')
+    is($I2, 0, 'cleari - $I2 cleared')
+    is($I3, 0, 'cleari - $I3 cleared')
+    is($I4, 0, 'cleari - $I4 cleared')
+    is($I5, 0, 'cleari - $I5 cleared')
+    is($I6, 0, 'cleari - $I6 cleared')
+    is($I7, 0, 'cleari - $I7 cleared')
+    is($I8, 0, 'cleari - $I8 cleared')
+    is($I9, 0, 'cleari - $I9 cleared')
+    is($I10, 0, 'cleari - $I10 cleared')
+    is($I11, 0, 'cleari - $I11 cleared')
+    is($I12, 0, 'cleari - $I12 cleared')
+    is($I13, 0, 'cleari - $I13 cleared')
+    is($I14, 0, 'cleari - $I14 cleared')
+    is($I15, 0, 'cleari - $I15 cleared')
+    is($I16, 0, 'cleari - $I16 cleared')
+    is($I17, 0, 'cleari - $I17 cleared')
+    is($I18, 0, 'cleari - $I18 cleared')
+    is($I19, 0, 'cleari - $I19 cleared')
+    is($I20, 0, 'cleari - $I20 cleared')
+    is($I21, 0, 'cleari - $I21 cleared')
+    is($I22, 0, 'cleari - $I22 cleared')
+    is($I23, 0, 'cleari - $I23 cleared')
+    is($I24, 0, 'cleari - $I24 cleared')
+    is($I25, 0, 'cleari - $I25 cleared')
+    is($I26, 0, 'cleari - $I26 cleared')
+    is($I27, 0, 'cleari - $I27 cleared')
+    is($I28, 0, 'cleari - $I28 cleared')
+    is($I29, 0, 'cleari - $I29 cleared')
+    is($I30, 0, 'cleari - $I30 cleared')
+    is($I31, 0, 'cleari - $I31 cleared')
+.end
+
+.sub test_clearn
+    set     $N0, 547972.0
+    set     $N1, 547972.0
+    set     $N2, 547972.0
+    set     $N3, 547972.0
+    set     $N4, 547972.0
+    set     $N5, 547972.0
+    set     $N6, 547972.0
+    set     $N7, 547972.0
+    set     $N8, 547972.0
+    set     $N9, 547972.0
+    set     $N10, 547972.0
+    set     $N11, 547972.0
+    set     $N12, 547972.0
+    set     $N13, 547972.0
+    set     $N14, 547972.0
+    set     $N15, 547972.0
+    set     $N16, 547972.0
+    set     $N17, 547972.0
+    set     $N18, 547972.0
+    set     $N19, 547972.0
+    set     $N20, 547972.0
+    set     $N21, 547972.0
+    set     $N22, 547972.0
+    set     $N23, 547972.0
+    set     $N24, 547972.0
+    set     $N25, 547972.0
+    set     $N26, 547972.0
+    set     $N27, 547972.0
+    set     $N28, 547972.0
+    set     $N29, 547972.0
+    set     $N30, 547972.0
+    set     $N31, 547972.0
+    clearn
+    is( $N0, "0", 'clearn' )
+    is( $N1, "0", 'clearn' )
+    is( $N2, "0", 'clearn' )
+    is( $N3, "0", 'clearn' )
+    is( $N4, "0", 'clearn' )
+    is( $N5, "0", 'clearn' )
+    is( $N6, "0", 'clearn' )
+    is( $N7, "0", 'clearn' )
+    is( $N8, "0", 'clearn' )
+    is( $N9, "0", 'clearn' )
+    is( $N10, "0", 'clearn' )
+    is( $N11, "0", 'clearn' )
+    is( $N12, "0", 'clearn' )
+    is( $N13, "0", 'clearn' )
+    is( $N14, "0", 'clearn' )
+    is( $N15, "0", 'clearn' )
+    is( $N16, "0", 'clearn' )
+    is( $N17, "0", 'clearn' )
+    is( $N18, "0", 'clearn' )
+    is( $N19, "0", 'clearn' )
+    is( $N20, "0", 'clearn' )
+    is( $N21, "0", 'clearn' )
+    is( $N22, "0", 'clearn' )
+    is( $N23, "0", 'clearn' )
+    is( $N24, "0", 'clearn' )
+    is( $N25, "0", 'clearn' )
+    is( $N26, "0", 'clearn' )
+    is( $N27, "0", 'clearn' )
+    is( $N28, "0", 'clearn' )
+    is( $N29, "0", 'clearn' )
+    is( $N30, "0", 'clearn' )
+    is( $N31, "0", 'clearn' )
+.end
+
+.sub test_exchange_n
+    set $N1, 1.234560
+    set $N2, 9.876540
+    exchange $N1, $N2
+    is( $N1, "9.87654", 'exchange' )
+    is( $N2, "1.23456", 'exchange' )
+    set $N3, -100.200300
+    exchange $N3, $N3
+    is( $N3, "-100.2003", 'exchange' )
+.end
+
+.sub test_clears
+    set $S0, "BOO 0"
+    set $S1, "BOO 1"
+    set $S2, "BOO 2"
+    set $S3, "BOO 3"
+    set $S4, "BOO 4"
+    set $S5, "BOO 5"
+    set $S6, "BOO 6"
+    set $S7, "BOO 7"
+    set $S8, "BOO 8"
+    set $S9, "BOO 9"
+    set $S10, "BOO 10"
+    set $S11, "BOO 11"
+    set $S12, "BOO 12"
+    set $S13, "BOO 13"
+    set $S14, "BOO 14"
+    set $S15, "BOO 15"
+    set $S16, "BOO 16"
+    set $S17, "BOO 17"
+    set $S18, "BOO 18"
+    set $S19, "BOO 19"
+    set $S20, "BOO 20"
+    set $S21, "BOO 21"
+    set $S22, "BOO 22"
+    set $S23, "BOO 23"
+    set $S24, "BOO 24"
+    set $S25, "BOO 25"
+    set $S26, "BOO 26"
+    set $S27, "BOO 27"
+    set $S28, "BOO 28"
+    set $S29, "BOO 29"
+    set $S30, "BOO 30"
+    set $S31, "BOO 31"
+    clears
+    is( $S0, "", '' )
+    is( $S1, "", '' )
+    is( $S2, "", '' )
+    is( $S3, "", '' )
+    is( $S4, "", '' )
+    is( $S5, "", '' )
+    is( $S6, "", '' )
+    is( $S7, "", '' )
+    is( $S8, "", '' )
+    is( $S9, "", '' )
+    is( $S10, "", '' )
+    is( $S11, "", '' )
+    is( $S12, "", '' )
+    is( $S13, "", '' )
+    is( $S14, "", '' )
+    is( $S15, "", '' )
+    is( $S16, "", '' )
+    is( $S17, "", '' )
+    is( $S18, "", '' )
+    is( $S19, "", '' )
+    is( $S20, "", '' )
+    is( $S21, "", '' )
+    is( $S22, "", '' )
+    is( $S23, "", '' )
+    is( $S24, "", '' )
+    is( $S25, "", '' )
+    is( $S26, "", '' )
+    is( $S27, "", '' )
+    is( $S28, "", '' )
+    is( $S29, "", '' )
+    is( $S30, "", '' )
+    is( $S31, "", '' )
+.end
+
+.sub test_exchange_s
+    set $S0, "String #0"
+    set $S1, "String #1"
+    exchange $S0, $S1
+    is( $S0, "String #1", 'exchange' )
+    is( $S1, "String #0", 'exchange' )
+
+    set $S2, "String #2"
+    exchange $S2, $S2
+    is( $S2, "String #2", 'exchange' )
+.end
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Modified: trunk/t/op/integer.t
==============================================================================
--- trunk/t/op/integer.t	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/t/op/integer.t	Wed May 19 08:55:32 2010	(r46782)
@@ -16,7 +16,7 @@
 
 =cut
 
-.const int TESTS = 194
+.const int TESTS = 159
 
 .sub 'test' :main
     .include 'test_more.pir'
@@ -47,10 +47,8 @@
     test_dec()
     test_sub_i_i()
     test_set_n()
-    test_cleari()
     test_neg()
     test_mul_i_i()
-    test_exchange()
     test_null()
     test_div_i_i_by_zero()
     test_div_i_ic_by_zero()
@@ -750,76 +748,6 @@
     is($N2, -2147483648.0, 'set_n_i - negative integer')
 .end
 
-.sub 'test_cleari'
-    $I0 = 0xdeadbee
-    $I1 = 0xdeadbee
-    $I2 = 0xdeadbee
-    $I3 = 0xdeadbee
-    $I4 = 0xdeadbee
-    $I5 = 0xdeadbee
-    $I6 = 0xdeadbee
-    $I7 = 0xdeadbee
-    $I8 = 0xdeadbee
-    $I9 = 0xdeadbee
-    $I10 = 0xdeadbee
-    $I11 = 0xdeadbee
-    $I12 = 0xdeadbee
-    $I13 = 0xdeadbee
-    $I14 = 0xdeadbee
-    $I15 = 0xdeadbee
-    $I16 = 0xdeadbee
-    $I17 = 0xdeadbee
-    $I18 = 0xdeadbee
-    $I19 = 0xdeadbee
-    $I20 = 0xdeadbee
-    $I21 = 0xdeadbee
-    $I22 = 0xdeadbee
-    $I23 = 0xdeadbee
-    $I24 = 0xdeadbee
-    $I25 = 0xdeadbee
-    $I26 = 0xdeadbee
-    $I27 = 0xdeadbee
-    $I28 = 0xdeadbee
-    $I29 = 0xdeadbee
-    $I30 = 0xdeadbee
-    $I31 = 0xdeadbee
-
-    cleari
-
-    is($I0, 0, 'cleari - $I0 cleared')
-    is($I1, 0, 'cleari - $I1 cleared')
-    is($I2, 0, 'cleari - $I2 cleared')
-    is($I3, 0, 'cleari - $I3 cleared')
-    is($I4, 0, 'cleari - $I4 cleared')
-    is($I5, 0, 'cleari - $I5 cleared')
-    is($I6, 0, 'cleari - $I6 cleared')
-    is($I7, 0, 'cleari - $I7 cleared')
-    is($I8, 0, 'cleari - $I8 cleared')
-    is($I9, 0, 'cleari - $I9 cleared')
-    is($I10, 0, 'cleari - $I10 cleared')
-    is($I11, 0, 'cleari - $I11 cleared')
-    is($I12, 0, 'cleari - $I12 cleared')
-    is($I13, 0, 'cleari - $I13 cleared')
-    is($I14, 0, 'cleari - $I14 cleared')
-    is($I15, 0, 'cleari - $I15 cleared')
-    is($I16, 0, 'cleari - $I16 cleared')
-    is($I17, 0, 'cleari - $I17 cleared')
-    is($I18, 0, 'cleari - $I18 cleared')
-    is($I19, 0, 'cleari - $I19 cleared')
-    is($I20, 0, 'cleari - $I20 cleared')
-    is($I21, 0, 'cleari - $I21 cleared')
-    is($I22, 0, 'cleari - $I22 cleared')
-    is($I23, 0, 'cleari - $I23 cleared')
-    is($I24, 0, 'cleari - $I24 cleared')
-    is($I25, 0, 'cleari - $I25 cleared')
-    is($I26, 0, 'cleari - $I26 cleared')
-    is($I27, 0, 'cleari - $I27 cleared')
-    is($I28, 0, 'cleari - $I28 cleared')
-    is($I29, 0, 'cleari - $I29 cleared')
-    is($I30, 0, 'cleari - $I30 cleared')
-    is($I31, 0, 'cleari - $I31 cleared')
-.end
-
 .sub 'test_neg'
     $I0 = neg 3
     $I0 = neg $I0
@@ -836,18 +764,6 @@
     is($I0, 12, 'mul_i_i')
 .end
 
-.sub 'test_exchange'
-    $I10 = 10
-    $I20 = 20
-    exchange $I10, $I20
-    is($I10, 20, 'exchange - first operand ok')
-    is($I20, 10, 'exchange - second operand ok')
-
-    $I30 = 30
-    exchange $I30, $I30
-    is($I30, 30, 'exchange - reflexive')
-.end
-
 .sub 'test_null'
     $I1 = 1000
     is($I1, 1000, 'null_i - before null')

Modified: trunk/t/op/jit.t
==============================================================================
--- trunk/t/op/jit.t	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/t/op/jit.t	Wed May 19 08:55:32 2010	(r46782)
@@ -103,12 +103,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "add_i_i_i 1 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I5,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -164,12 +164,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "add_i_i_i 0 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I6,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -259,12 +259,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "sub_i_i_i 1 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I5,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -320,12 +320,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "sub_i_ic 0 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I5,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -341,12 +341,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "sub_i_i_i 0 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I6,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -436,12 +436,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "mul_i_i_i 1 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I5,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -497,12 +497,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "mul_i_i_i 0 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I6,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -575,12 +575,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "mul_i_i 0 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I5,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -669,12 +669,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "div_i_i_i 1 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I5,0
 set I0,I1
 set I2,I3
 set I0,I1
@@ -730,12 +730,12 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "div_i_i_i 0 mapped" );
-cleari
 set I0,0
 set I1,1
 set I2,2
 set I3,3
 set I4,4
+set I6,0
 set I0,I1
 set I2,I3
 set I0,I1

Modified: trunk/t/op/number.t
==============================================================================
--- trunk/t/op/number.t	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/t/op/number.t	Wed May 19 08:55:32 2010	(r46782)
@@ -19,7 +19,7 @@
 .sub main :main
     .include 'test_more.pir'
 
-    plan(165)
+    plan(130)
     test_set_n_nc()
     test_set_n()
     test_add_n_n_n()
@@ -47,11 +47,9 @@
     test_inc_n()
     test_dec_n()
     test_set_i_n()
-    test_clearn()
     test_neg_n()
     test_neg_0_dot_0()
     test_mul_n_n()
-    test_exchange()
     test_op_n_nc_nc()
     test_lt_nc_nc_ic()
     test_string_gt_num()
@@ -607,74 +605,6 @@
     is( $I2, "-2147483648", 'set_i_n' )
 .end
 
-.sub test_clearn
-    set     $N0, 547972.0
-    set     $N1, 547972.0
-    set     $N2, 547972.0
-    set     $N3, 547972.0
-    set     $N4, 547972.0
-    set     $N5, 547972.0
-    set     $N6, 547972.0
-    set     $N7, 547972.0
-    set     $N8, 547972.0
-    set     $N9, 547972.0
-    set     $N10, 547972.0
-    set     $N11, 547972.0
-    set     $N12, 547972.0
-    set     $N13, 547972.0
-    set     $N14, 547972.0
-    set     $N15, 547972.0
-    set     $N16, 547972.0
-    set     $N17, 547972.0
-    set     $N18, 547972.0
-    set     $N19, 547972.0
-    set     $N20, 547972.0
-    set     $N21, 547972.0
-    set     $N22, 547972.0
-    set     $N23, 547972.0
-    set     $N24, 547972.0
-    set     $N25, 547972.0
-    set     $N26, 547972.0
-    set     $N27, 547972.0
-    set     $N28, 547972.0
-    set     $N29, 547972.0
-    set     $N30, 547972.0
-    set     $N31, 547972.0
-    clearn
-    is( $N0, "0", 'clearn' )
-    is( $N1, "0", 'clearn' )
-    is( $N2, "0", 'clearn' )
-    is( $N3, "0", 'clearn' )
-    is( $N4, "0", 'clearn' )
-    is( $N5, "0", 'clearn' )
-    is( $N6, "0", 'clearn' )
-    is( $N7, "0", 'clearn' )
-    is( $N8, "0", 'clearn' )
-    is( $N9, "0", 'clearn' )
-    is( $N10, "0", 'clearn' )
-    is( $N11, "0", 'clearn' )
-    is( $N12, "0", 'clearn' )
-    is( $N13, "0", 'clearn' )
-    is( $N14, "0", 'clearn' )
-    is( $N15, "0", 'clearn' )
-    is( $N16, "0", 'clearn' )
-    is( $N17, "0", 'clearn' )
-    is( $N18, "0", 'clearn' )
-    is( $N19, "0", 'clearn' )
-    is( $N20, "0", 'clearn' )
-    is( $N21, "0", 'clearn' )
-    is( $N22, "0", 'clearn' )
-    is( $N23, "0", 'clearn' )
-    is( $N24, "0", 'clearn' )
-    is( $N25, "0", 'clearn' )
-    is( $N26, "0", 'clearn' )
-    is( $N27, "0", 'clearn' )
-    is( $N28, "0", 'clearn' )
-    is( $N29, "0", 'clearn' )
-    is( $N30, "0", 'clearn' )
-    is( $N31, "0", 'clearn' )
-.end
-
 .sub test_neg_n
     neg $N0,3.0
     neg $N0,$N0
@@ -704,17 +634,6 @@
     is( $N0, "12", 'mul_n_n' )
 .end
 
-.sub test_exchange
-    set $N1, 1.234560
-    set $N2, 9.876540
-    exchange $N1, $N2
-    is( $N1, "9.87654", 'exchange' )
-    is( $N2, "1.23456", 'exchange' )
-    set $N3, -100.200300
-    exchange $N3, $N3
-    is( $N3, "-100.2003", 'exchange' )
-.end
-
 .sub test_op_n_nc_nc
     add $N1, 2.0, 3.0
     is( $N1, "5", 'op_n_nc_nc' )

Modified: trunk/t/op/string.t
==============================================================================
--- trunk/t/op/string.t	Wed May 19 07:44:39 2010	(r46781)
+++ trunk/t/op/string.t	Wed May 19 08:55:32 2010	(r46782)
@@ -19,7 +19,7 @@
 .sub main :main
     .include 'test_more.pir'
 
-    plan(374)
+    plan(339)
 
     set_s_s_sc()
     test_clone()
@@ -65,7 +65,6 @@
     test_concat_s_s_sc()
     concat_s_s_sc_s_sc()
     concat_ensure_copy_is_made()
-    test_clears()
 
     same_constant_twice_bug()
     exception_two_param_ord_empty_string()
@@ -120,7 +119,6 @@
     other_form_of_sprintf_op()
     sprintf_left_justify()
     correct_precision_for_sprintf_x()
-    test_exchange()
     test_find_encoding()
     test_assign()
     assign_and_globber()
@@ -605,74 +603,6 @@
     is( $S2, "JAPH", '' )
 .end
 
-.sub test_clears
-    set $S0, "BOO 0"
-    set $S1, "BOO 1"
-    set $S2, "BOO 2"
-    set $S3, "BOO 3"
-    set $S4, "BOO 4"
-    set $S5, "BOO 5"
-    set $S6, "BOO 6"
-    set $S7, "BOO 7"
-    set $S8, "BOO 8"
-    set $S9, "BOO 9"
-    set $S10, "BOO 10"
-    set $S11, "BOO 11"
-    set $S12, "BOO 12"
-    set $S13, "BOO 13"
-    set $S14, "BOO 14"
-    set $S15, "BOO 15"
-    set $S16, "BOO 16"
-    set $S17, "BOO 17"
-    set $S18, "BOO 18"
-    set $S19, "BOO 19"
-    set $S20, "BOO 20"
-    set $S21, "BOO 21"
-    set $S22, "BOO 22"
-    set $S23, "BOO 23"
-    set $S24, "BOO 24"
-    set $S25, "BOO 25"
-    set $S26, "BOO 26"
-    set $S27, "BOO 27"
-    set $S28, "BOO 28"
-    set $S29, "BOO 29"
-    set $S30, "BOO 30"
-    set $S31, "BOO 31"
-    clears
-    is( $S0, "", '' )
-    is( $S1, "", '' )
-    is( $S2, "", '' )
-    is( $S3, "", '' )
-    is( $S4, "", '' )
-    is( $S5, "", '' )
-    is( $S6, "", '' )
-    is( $S7, "", '' )
-    is( $S8, "", '' )
-    is( $S9, "", '' )
-    is( $S10, "", '' )
-    is( $S11, "", '' )
-    is( $S12, "", '' )
-    is( $S13, "", '' )
-    is( $S14, "", '' )
-    is( $S15, "", '' )
-    is( $S16, "", '' )
-    is( $S17, "", '' )
-    is( $S18, "", '' )
-    is( $S19, "", '' )
-    is( $S20, "", '' )
-    is( $S21, "", '' )
-    is( $S22, "", '' )
-    is( $S23, "", '' )
-    is( $S24, "", '' )
-    is( $S25, "", '' )
-    is( $S26, "", '' )
-    is( $S27, "", '' )
-    is( $S28, "", '' )
-    is( $S29, "", '' )
-    is( $S30, "", '' )
-    is( $S31, "", '' )
-.end
-
 .sub same_constant_twice_bug
    set     $S0, ""
    set     $S1, ""
@@ -844,7 +774,6 @@
     ok( $S0, 'string " " is true' )
 
     # An empty register should be false...
-    clears
     nok( $S1, 'empty register is false' )
 .end
 
@@ -1437,18 +1366,6 @@
     is( $S1, $S0, 'Correct precision for %x' )
 .end
 
-.sub test_exchange
-    set $S0, "String #0"
-    set $S1, "String #1"
-    exchange $S0, $S1
-    is( $S0, "String #1", 'exchange' )
-    is( $S1, "String #0", 'exchange' )
-
-    set $S2, "String #2"
-    exchange $S2, $S2
-    is( $S2, "String #2", 'exchange' )
-.end
-
 .sub test_find_encoding
     skip( 4, "Pending reimplementation of find_encoding" )
     # find_encoding $I0, "singlebyte"


More information about the parrot-commits mailing list