[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