[svn:parrot] r45746 - in branches/immutable_strings_part1: . src/ops t/native_pbc

bacek at svn.parrot.org bacek at svn.parrot.org
Sat Apr 17 12:06:57 UTC 2010


Author: bacek
Date: Sat Apr 17 12:06:56 2010
New Revision: 45746
URL: https://trac.parrot.org/parrot/changeset/45746

Log:
Add op replace and rebuild native pbcs

Modified:
   branches/immutable_strings_part1/PBC_COMPAT
   branches/immutable_strings_part1/src/ops/ops.num
   branches/immutable_strings_part1/src/ops/string.ops
   branches/immutable_strings_part1/t/native_pbc/annotations.pbc
   branches/immutable_strings_part1/t/native_pbc/integer_1.pbc
   branches/immutable_strings_part1/t/native_pbc/number_1.pbc
   branches/immutable_strings_part1/t/native_pbc/string_1.pbc

Modified: branches/immutable_strings_part1/PBC_COMPAT
==============================================================================
--- branches/immutable_strings_part1/PBC_COMPAT	Sat Apr 17 11:00:33 2010	(r45745)
+++ branches/immutable_strings_part1/PBC_COMPAT	Sat Apr 17 12:06:56 2010	(r45746)
@@ -27,6 +27,7 @@
 
 # please insert tab separated entries at the top of the list
 
+6.6	2010.04.17	bacek	add replace op
 6.5	2010.03.09	cotto	remove cpu_ret op
 6.4	2010.03.02	cotto	remove prederef__ and reserved
 6.3	2010.02.16	whiteknight	Add OpLib and Opcode PMCs

Modified: branches/immutable_strings_part1/src/ops/ops.num
==============================================================================
--- branches/immutable_strings_part1/src/ops/ops.num	Sat Apr 17 11:00:33 2010	(r45745)
+++ branches/immutable_strings_part1/src/ops/ops.num	Sat Apr 17 12:06:56 2010	(r45746)
@@ -1087,193 +1087,209 @@
 substr_s_p_ic_i                1063
 substr_s_p_i_ic                1064
 substr_s_p_ic_ic               1065
-index_i_s_s                    1066
-index_i_sc_s                   1067
-index_i_s_sc                   1068
-index_i_sc_sc                  1069
-index_i_s_s_i                  1070
-index_i_sc_s_i                 1071
-index_i_s_sc_i                 1072
-index_i_sc_sc_i                1073
-index_i_s_s_ic                 1074
-index_i_sc_s_ic                1075
-index_i_s_sc_ic                1076
-index_i_sc_sc_ic               1077
-sprintf_s_s_p                  1078
-sprintf_s_sc_p                 1079
-sprintf_p_p_p                  1080
-new_s                          1081
-new_s_i                        1082
-new_s_ic                       1083
-stringinfo_i_s_i               1084
-stringinfo_i_sc_i              1085
-stringinfo_i_s_ic              1086
-stringinfo_i_sc_ic             1087
-upcase_s_s                     1088
-upcase_s_sc                    1089
-upcase_s                       1090
-downcase_s_s                   1091
-downcase_s_sc                  1092
-downcase_s                     1093
-titlecase_s_s                  1094
-titlecase_s_sc                 1095
-titlecase_s                    1096
-join_s_s_p                     1097
-join_s_sc_p                    1098
-split_p_s_s                    1099
-split_p_sc_s                   1100
-split_p_s_sc                   1101
-split_p_sc_sc                  1102
-charset_i_s                    1103
-charset_i_sc                   1104
-charsetname_s_i                1105
-charsetname_s_ic               1106
-find_charset_i_s               1107
-find_charset_i_sc              1108
-trans_charset_s_i              1109
-trans_charset_s_ic             1110
-trans_charset_s_s_i            1111
-trans_charset_s_sc_i           1112
-trans_charset_s_s_ic           1113
-trans_charset_s_sc_ic          1114
-encoding_i_s                   1115
-encoding_i_sc                  1116
-encodingname_s_i               1117
-encodingname_s_ic              1118
-find_encoding_i_s              1119
-find_encoding_i_sc             1120
-trans_encoding_s_i             1121
-trans_encoding_s_ic            1122
-trans_encoding_s_s_i           1123
-trans_encoding_s_sc_i          1124
-trans_encoding_s_s_ic          1125
-trans_encoding_s_sc_ic         1126
-is_cclass_i_i_s_i              1127
-is_cclass_i_ic_s_i             1128
-is_cclass_i_i_sc_i             1129
-is_cclass_i_ic_sc_i            1130
-is_cclass_i_i_s_ic             1131
-is_cclass_i_ic_s_ic            1132
-is_cclass_i_i_sc_ic            1133
-is_cclass_i_ic_sc_ic           1134
-find_cclass_i_i_s_i_i          1135
-find_cclass_i_ic_s_i_i         1136
-find_cclass_i_i_sc_i_i         1137
-find_cclass_i_ic_sc_i_i        1138
-find_cclass_i_i_s_ic_i         1139
-find_cclass_i_ic_s_ic_i        1140
-find_cclass_i_i_sc_ic_i        1141
-find_cclass_i_ic_sc_ic_i       1142
-find_cclass_i_i_s_i_ic         1143
-find_cclass_i_ic_s_i_ic        1144
-find_cclass_i_i_sc_i_ic        1145
-find_cclass_i_ic_sc_i_ic       1146
-find_cclass_i_i_s_ic_ic        1147
-find_cclass_i_ic_s_ic_ic       1148
-find_cclass_i_i_sc_ic_ic       1149
-find_cclass_i_ic_sc_ic_ic      1150
-find_not_cclass_i_i_s_i_i      1151
-find_not_cclass_i_ic_s_i_i     1152
-find_not_cclass_i_i_sc_i_i     1153
-find_not_cclass_i_ic_sc_i_i    1154
-find_not_cclass_i_i_s_ic_i     1155
-find_not_cclass_i_ic_s_ic_i    1156
-find_not_cclass_i_i_sc_ic_i    1157
-find_not_cclass_i_ic_sc_ic_i   1158
-find_not_cclass_i_i_s_i_ic     1159
-find_not_cclass_i_ic_s_i_ic    1160
-find_not_cclass_i_i_sc_i_ic    1161
-find_not_cclass_i_ic_sc_i_ic   1162
-find_not_cclass_i_i_s_ic_ic    1163
-find_not_cclass_i_ic_s_ic_ic   1164
-find_not_cclass_i_i_sc_ic_ic   1165
-find_not_cclass_i_ic_sc_ic_ic  1166
-escape_s_s                     1167
-compose_s_s                    1168
-compose_s_sc                   1169
-spawnw_i_s                     1170
-spawnw_i_sc                    1171
-spawnw_i_p                     1172
-err_i                          1173
-err_s                          1174
-err_s_i                        1175
-err_s_ic                       1176
-time_i                         1177
-time_n                         1178
-gmtime_s_i                     1179
-gmtime_s_ic                    1180
-localtime_s_i                  1181
-localtime_s_ic                 1182
-decodetime_p_i                 1183
-decodetime_p_ic                1184
-decodelocaltime_p_i            1185
-decodelocaltime_p_ic           1186
-sysinfo_s_i                    1187
-sysinfo_s_ic                   1188
-sysinfo_i_i                    1189
-sysinfo_i_ic                   1190
-sleep_i                        1191
-sleep_ic                       1192
-sleep_n                        1193
-sleep_nc                       1194
-sizeof_i_i                     1195
-sizeof_i_ic                    1196
-store_lex_s_p                  1197
-store_lex_sc_p                 1198
-store_dynamic_lex_s_p          1199
-store_dynamic_lex_sc_p         1200
-find_lex_p_s                   1201
-find_lex_p_sc                  1202
-find_dynamic_lex_p_s           1203
-find_dynamic_lex_p_sc          1204
-find_caller_lex_p_s            1205
-find_caller_lex_p_sc           1206
-get_namespace_p                1207
-get_namespace_p_p              1208
-get_namespace_p_pc             1209
-get_hll_namespace_p            1210
-get_hll_namespace_p_p          1211
-get_hll_namespace_p_pc         1212
-get_root_namespace_p           1213
-get_root_namespace_p_p         1214
-get_root_namespace_p_pc        1215
-get_global_p_s                 1216
-get_global_p_sc                1217
-get_global_p_p_s               1218
-get_global_p_pc_s              1219
-get_global_p_p_sc              1220
-get_global_p_pc_sc             1221
-get_hll_global_p_s             1222
-get_hll_global_p_sc            1223
-get_hll_global_p_p_s           1224
-get_hll_global_p_pc_s          1225
-get_hll_global_p_p_sc          1226
-get_hll_global_p_pc_sc         1227
-get_root_global_p_s            1228
-get_root_global_p_sc           1229
-get_root_global_p_p_s          1230
-get_root_global_p_pc_s         1231
-get_root_global_p_p_sc         1232
-get_root_global_p_pc_sc        1233
-set_global_s_p                 1234
-set_global_sc_p                1235
-set_global_p_s_p               1236
-set_global_pc_s_p              1237
-set_global_p_sc_p              1238
-set_global_pc_sc_p             1239
-set_hll_global_s_p             1240
-set_hll_global_sc_p            1241
-set_hll_global_p_s_p           1242
-set_hll_global_pc_s_p          1243
-set_hll_global_p_sc_p          1244
-set_hll_global_pc_sc_p         1245
-set_root_global_s_p            1246
-set_root_global_sc_p           1247
-set_root_global_p_s_p          1248
-set_root_global_pc_s_p         1249
-set_root_global_p_sc_p         1250
-set_root_global_pc_sc_p        1251
-find_name_p_s                  1252
-find_name_p_sc                 1253
-find_sub_not_null_p_s          1254
-find_sub_not_null_p_sc         1255
+replace_s_s_i_i_s              1066
+replace_s_sc_i_i_s             1067
+replace_s_s_ic_i_s             1068
+replace_s_sc_ic_i_s            1069
+replace_s_s_i_ic_s             1070
+replace_s_sc_i_ic_s            1071
+replace_s_s_ic_ic_s            1072
+replace_s_sc_ic_ic_s           1073
+replace_s_s_i_i_sc             1074
+replace_s_sc_i_i_sc            1075
+replace_s_s_ic_i_sc            1076
+replace_s_sc_ic_i_sc           1077
+replace_s_s_i_ic_sc            1078
+replace_s_sc_i_ic_sc           1079
+replace_s_s_ic_ic_sc           1080
+replace_s_sc_ic_ic_sc          1081
+index_i_s_s                    1082
+index_i_sc_s                   1083
+index_i_s_sc                   1084
+index_i_sc_sc                  1085
+index_i_s_s_i                  1086
+index_i_sc_s_i                 1087
+index_i_s_sc_i                 1088
+index_i_sc_sc_i                1089
+index_i_s_s_ic                 1090
+index_i_sc_s_ic                1091
+index_i_s_sc_ic                1092
+index_i_sc_sc_ic               1093
+sprintf_s_s_p                  1094
+sprintf_s_sc_p                 1095
+sprintf_p_p_p                  1096
+new_s                          1097
+new_s_i                        1098
+new_s_ic                       1099
+stringinfo_i_s_i               1100
+stringinfo_i_sc_i              1101
+stringinfo_i_s_ic              1102
+stringinfo_i_sc_ic             1103
+upcase_s_s                     1104
+upcase_s_sc                    1105
+upcase_s                       1106
+downcase_s_s                   1107
+downcase_s_sc                  1108
+downcase_s                     1109
+titlecase_s_s                  1110
+titlecase_s_sc                 1111
+titlecase_s                    1112
+join_s_s_p                     1113
+join_s_sc_p                    1114
+split_p_s_s                    1115
+split_p_sc_s                   1116
+split_p_s_sc                   1117
+split_p_sc_sc                  1118
+charset_i_s                    1119
+charset_i_sc                   1120
+charsetname_s_i                1121
+charsetname_s_ic               1122
+find_charset_i_s               1123
+find_charset_i_sc              1124
+trans_charset_s_i              1125
+trans_charset_s_ic             1126
+trans_charset_s_s_i            1127
+trans_charset_s_sc_i           1128
+trans_charset_s_s_ic           1129
+trans_charset_s_sc_ic          1130
+encoding_i_s                   1131
+encoding_i_sc                  1132
+encodingname_s_i               1133
+encodingname_s_ic              1134
+find_encoding_i_s              1135
+find_encoding_i_sc             1136
+trans_encoding_s_i             1137
+trans_encoding_s_ic            1138
+trans_encoding_s_s_i           1139
+trans_encoding_s_sc_i          1140
+trans_encoding_s_s_ic          1141
+trans_encoding_s_sc_ic         1142
+is_cclass_i_i_s_i              1143
+is_cclass_i_ic_s_i             1144
+is_cclass_i_i_sc_i             1145
+is_cclass_i_ic_sc_i            1146
+is_cclass_i_i_s_ic             1147
+is_cclass_i_ic_s_ic            1148
+is_cclass_i_i_sc_ic            1149
+is_cclass_i_ic_sc_ic           1150
+find_cclass_i_i_s_i_i          1151
+find_cclass_i_ic_s_i_i         1152
+find_cclass_i_i_sc_i_i         1153
+find_cclass_i_ic_sc_i_i        1154
+find_cclass_i_i_s_ic_i         1155
+find_cclass_i_ic_s_ic_i        1156
+find_cclass_i_i_sc_ic_i        1157
+find_cclass_i_ic_sc_ic_i       1158
+find_cclass_i_i_s_i_ic         1159
+find_cclass_i_ic_s_i_ic        1160
+find_cclass_i_i_sc_i_ic        1161
+find_cclass_i_ic_sc_i_ic       1162
+find_cclass_i_i_s_ic_ic        1163
+find_cclass_i_ic_s_ic_ic       1164
+find_cclass_i_i_sc_ic_ic       1165
+find_cclass_i_ic_sc_ic_ic      1166
+find_not_cclass_i_i_s_i_i      1167
+find_not_cclass_i_ic_s_i_i     1168
+find_not_cclass_i_i_sc_i_i     1169
+find_not_cclass_i_ic_sc_i_i    1170
+find_not_cclass_i_i_s_ic_i     1171
+find_not_cclass_i_ic_s_ic_i    1172
+find_not_cclass_i_i_sc_ic_i    1173
+find_not_cclass_i_ic_sc_ic_i   1174
+find_not_cclass_i_i_s_i_ic     1175
+find_not_cclass_i_ic_s_i_ic    1176
+find_not_cclass_i_i_sc_i_ic    1177
+find_not_cclass_i_ic_sc_i_ic   1178
+find_not_cclass_i_i_s_ic_ic    1179
+find_not_cclass_i_ic_s_ic_ic   1180
+find_not_cclass_i_i_sc_ic_ic   1181
+find_not_cclass_i_ic_sc_ic_ic  1182
+escape_s_s                     1183
+compose_s_s                    1184
+compose_s_sc                   1185
+spawnw_i_s                     1186
+spawnw_i_sc                    1187
+spawnw_i_p                     1188
+err_i                          1189
+err_s                          1190
+err_s_i                        1191
+err_s_ic                       1192
+time_i                         1193
+time_n                         1194
+gmtime_s_i                     1195
+gmtime_s_ic                    1196
+localtime_s_i                  1197
+localtime_s_ic                 1198
+decodetime_p_i                 1199
+decodetime_p_ic                1200
+decodelocaltime_p_i            1201
+decodelocaltime_p_ic           1202
+sysinfo_s_i                    1203
+sysinfo_s_ic                   1204
+sysinfo_i_i                    1205
+sysinfo_i_ic                   1206
+sleep_i                        1207
+sleep_ic                       1208
+sleep_n                        1209
+sleep_nc                       1210
+sizeof_i_i                     1211
+sizeof_i_ic                    1212
+store_lex_s_p                  1213
+store_lex_sc_p                 1214
+store_dynamic_lex_s_p          1215
+store_dynamic_lex_sc_p         1216
+find_lex_p_s                   1217
+find_lex_p_sc                  1218
+find_dynamic_lex_p_s           1219
+find_dynamic_lex_p_sc          1220
+find_caller_lex_p_s            1221
+find_caller_lex_p_sc           1222
+get_namespace_p                1223
+get_namespace_p_p              1224
+get_namespace_p_pc             1225
+get_hll_namespace_p            1226
+get_hll_namespace_p_p          1227
+get_hll_namespace_p_pc         1228
+get_root_namespace_p           1229
+get_root_namespace_p_p         1230
+get_root_namespace_p_pc        1231
+get_global_p_s                 1232
+get_global_p_sc                1233
+get_global_p_p_s               1234
+get_global_p_pc_s              1235
+get_global_p_p_sc              1236
+get_global_p_pc_sc             1237
+get_hll_global_p_s             1238
+get_hll_global_p_sc            1239
+get_hll_global_p_p_s           1240
+get_hll_global_p_pc_s          1241
+get_hll_global_p_p_sc          1242
+get_hll_global_p_pc_sc         1243
+get_root_global_p_s            1244
+get_root_global_p_sc           1245
+get_root_global_p_p_s          1246
+get_root_global_p_pc_s         1247
+get_root_global_p_p_sc         1248
+get_root_global_p_pc_sc        1249
+set_global_s_p                 1250
+set_global_sc_p                1251
+set_global_p_s_p               1252
+set_global_pc_s_p              1253
+set_global_p_sc_p              1254
+set_global_pc_sc_p             1255
+set_hll_global_s_p             1256
+set_hll_global_sc_p            1257
+set_hll_global_p_s_p           1258
+set_hll_global_pc_s_p          1259
+set_hll_global_p_sc_p          1260
+set_hll_global_pc_sc_p         1261
+set_root_global_s_p            1262
+set_root_global_sc_p           1263
+set_root_global_p_s_p          1264
+set_root_global_pc_s_p         1265
+set_root_global_p_sc_p         1266
+set_root_global_pc_sc_p        1267
+find_name_p_s                  1268
+find_name_p_sc                 1269
+find_sub_not_null_p_s          1270
+find_sub_not_null_p_sc         1271

Modified: branches/immutable_strings_part1/src/ops/string.ops
==============================================================================
--- branches/immutable_strings_part1/src/ops/string.ops	Sat Apr 17 11:00:33 2010	(r45745)
+++ branches/immutable_strings_part1/src/ops/string.ops	Sat Apr 17 12:06:56 2010	(r45746)
@@ -244,6 +244,8 @@
 
 =item B<substr>(inout STR, in INT, in INT, in STR)
 
+=item B<replace>(out STR, in STR, in INT, in INT, in STR)
+
 =item B<substr>(out STR, invar PMC, in INT, in INT)
 
 Set $1 to the portion of $2 starting at (zero-based) character position
@@ -289,6 +291,10 @@
     $1 = VTABLE_substr_str(interp, $2, $3, $4);
 }
 
+inline op replace(out STR, in STR, in INT, in INT, in STR) :base_core {
+    $1 = Parrot_str_replace(interp, $2, $3, $4, $5);
+}
+
 
 =item B<index>(out INT, in STR, in STR)
 

Modified: branches/immutable_strings_part1/t/native_pbc/annotations.pbc
==============================================================================
Binary file (source and/or target). No diff available.

Modified: branches/immutable_strings_part1/t/native_pbc/integer_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.

Modified: branches/immutable_strings_part1/t/native_pbc/number_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.

Modified: branches/immutable_strings_part1/t/native_pbc/string_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.


More information about the parrot-commits mailing list