[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