Mercurial > emacs
comparison src/bytecode.c @ 28497:334ebb7a551c
(Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
AFTER_POTENTIAL_GC calls around calls to functions that can
signal an error and thus invoke the debugger.
| author | Gerd Moellmann <gerd@gnu.org> |
|---|---|
| date | Tue, 04 Apr 2000 14:54:29 +0000 |
| parents | 09ce77df2610 |
| children | 4c808e415352 |
comparison
equal
deleted
inserted
replaced
| 28496:92a9591b21a2 | 28497:334ebb7a551c |
|---|---|
| 473 v1 = vectorp[op]; | 473 v1 = vectorp[op]; |
| 474 if (SYMBOLP (v1)) | 474 if (SYMBOLP (v1)) |
| 475 { | 475 { |
| 476 v2 = XSYMBOL (v1)->value; | 476 v2 = XSYMBOL (v1)->value; |
| 477 if (MISCP (v2) || EQ (v2, Qunbound)) | 477 if (MISCP (v2) || EQ (v2, Qunbound)) |
| 478 v2 = Fsymbol_value (v1); | 478 { |
| 479 BEFORE_POTENTIAL_GC (); | |
| 480 v2 = Fsymbol_value (v1); | |
| 481 AFTER_POTENTIAL_GC (); | |
| 482 } | |
| 479 } | 483 } |
| 480 else | 484 else |
| 481 v2 = Fsymbol_value (v1); | 485 { |
| 486 BEFORE_POTENTIAL_GC (); | |
| 487 v2 = Fsymbol_value (v1); | |
| 488 AFTER_POTENTIAL_GC (); | |
| 489 } | |
| 482 PUSH (v2); | 490 PUSH (v2); |
| 483 break; | 491 break; |
| 484 } | 492 } |
| 485 | 493 |
| 486 case Bgotoifnil: | 494 case Bgotoifnil: |
| 520 } | 528 } |
| 521 | 529 |
| 522 case Bmemq: | 530 case Bmemq: |
| 523 { | 531 { |
| 524 Lisp_Object v1; | 532 Lisp_Object v1; |
| 533 BEFORE_POTENTIAL_GC (); | |
| 525 v1 = POP; | 534 v1 = POP; |
| 526 TOP = Fmemq (TOP, v1); | 535 TOP = Fmemq (TOP, v1); |
| 536 AFTER_POTENTIAL_GC (); | |
| 527 break; | 537 break; |
| 528 } | 538 } |
| 529 | 539 |
| 530 case Bcdr: | 540 case Bcdr: |
| 531 { | 541 { |
| 562 varset: | 572 varset: |
| 563 { | 573 { |
| 564 Lisp_Object sym, val; | 574 Lisp_Object sym, val; |
| 565 | 575 |
| 566 sym = vectorp[op]; | 576 sym = vectorp[op]; |
| 567 val = POP; | 577 val = TOP; |
| 568 | 578 |
| 569 /* Inline the most common case. */ | 579 /* Inline the most common case. */ |
| 570 if (SYMBOLP (sym) | 580 if (SYMBOLP (sym) |
| 571 && !EQ (val, Qunbound) | 581 && !EQ (val, Qunbound) |
| 572 && !MISCP (XSYMBOL (sym)->value) | 582 && !MISCP (XSYMBOL (sym)->value) |
| 579 && !(XSYMBOL (sym)->name->data[0] == ':' | 589 && !(XSYMBOL (sym)->name->data[0] == ':' |
| 580 && EQ (XSYMBOL (sym)->obarray, initial_obarray) | 590 && EQ (XSYMBOL (sym)->obarray, initial_obarray) |
| 581 && !EQ (val, sym))) | 591 && !EQ (val, sym))) |
| 582 XSYMBOL (sym)->value = val; | 592 XSYMBOL (sym)->value = val; |
| 583 else | 593 else |
| 584 set_internal (sym, val, current_buffer, 0); | 594 { |
| 585 } | 595 BEFORE_POTENTIAL_GC (); |
| 596 set_internal (sym, val, current_buffer, 0); | |
| 597 AFTER_POTENTIAL_GC (); | |
| 598 } | |
| 599 } | |
| 600 POP; | |
| 586 break; | 601 break; |
| 587 | 602 |
| 588 case Bdup: | 603 case Bdup: |
| 589 { | 604 { |
| 590 Lisp_Object v1; | 605 Lisp_Object v1; |
| 807 break; | 822 break; |
| 808 | 823 |
| 809 case Bcatch: | 824 case Bcatch: |
| 810 { | 825 { |
| 811 Lisp_Object v1; | 826 Lisp_Object v1; |
| 812 v1 = POP; | 827 BEFORE_POTENTIAL_GC (); |
| 813 BEFORE_POTENTIAL_GC (); | 828 v1 = POP; |
| 814 TOP = internal_catch (TOP, Feval, v1); | 829 TOP = internal_catch (TOP, Feval, v1); |
| 815 AFTER_POTENTIAL_GC (); | 830 AFTER_POTENTIAL_GC (); |
| 816 break; | 831 break; |
| 817 } | 832 } |
| 818 | 833 |
| 840 break; | 855 break; |
| 841 | 856 |
| 842 case Btemp_output_buffer_show: | 857 case Btemp_output_buffer_show: |
| 843 { | 858 { |
| 844 Lisp_Object v1; | 859 Lisp_Object v1; |
| 845 v1 = POP; | 860 BEFORE_POTENTIAL_GC (); |
| 846 BEFORE_POTENTIAL_GC (); | 861 v1 = POP; |
| 847 temp_output_buffer_show (TOP); | 862 temp_output_buffer_show (TOP); |
| 848 TOP = v1; | 863 TOP = v1; |
| 849 /* pop binding of standard-output */ | 864 /* pop binding of standard-output */ |
| 850 unbind_to (specpdl_ptr - specpdl - 1, Qnil); | 865 unbind_to (specpdl_ptr - specpdl - 1, Qnil); |
| 851 AFTER_POTENTIAL_GC (); | 866 AFTER_POTENTIAL_GC (); |
| 853 } | 868 } |
| 854 | 869 |
| 855 case Bnth: | 870 case Bnth: |
| 856 { | 871 { |
| 857 Lisp_Object v1, v2; | 872 Lisp_Object v1, v2; |
| 873 BEFORE_POTENTIAL_GC (); | |
| 858 v1 = POP; | 874 v1 = POP; |
| 859 v2 = TOP; | 875 v2 = TOP; |
| 860 BEFORE_POTENTIAL_GC (); | |
| 861 CHECK_NUMBER (v2, 0); | 876 CHECK_NUMBER (v2, 0); |
| 862 AFTER_POTENTIAL_GC (); | 877 AFTER_POTENTIAL_GC (); |
| 863 op = XINT (v2); | 878 op = XINT (v2); |
| 864 immediate_quit = 1; | 879 immediate_quit = 1; |
| 865 while (--op >= 0) | 880 while (--op >= 0) |
| 945 DISCARD (op - 1); | 960 DISCARD (op - 1); |
| 946 TOP = Flist (op, &TOP); | 961 TOP = Flist (op, &TOP); |
| 947 break; | 962 break; |
| 948 | 963 |
| 949 case Blength: | 964 case Blength: |
| 965 BEFORE_POTENTIAL_GC (); | |
| 950 TOP = Flength (TOP); | 966 TOP = Flength (TOP); |
| 967 AFTER_POTENTIAL_GC (); | |
| 951 break; | 968 break; |
| 952 | 969 |
| 953 case Baref: | 970 case Baref: |
| 954 { | 971 { |
| 955 Lisp_Object v1; | 972 Lisp_Object v1; |
| 973 BEFORE_POTENTIAL_GC (); | |
| 956 v1 = POP; | 974 v1 = POP; |
| 957 TOP = Faref (TOP, v1); | 975 TOP = Faref (TOP, v1); |
| 976 AFTER_POTENTIAL_GC (); | |
| 958 break; | 977 break; |
| 959 } | 978 } |
| 960 | 979 |
| 961 case Baset: | 980 case Baset: |
| 962 { | 981 { |
| 963 Lisp_Object v1, v2; | 982 Lisp_Object v1, v2; |
| 983 BEFORE_POTENTIAL_GC (); | |
| 964 v2 = POP; v1 = POP; | 984 v2 = POP; v1 = POP; |
| 965 TOP = Faset (TOP, v1, v2); | 985 TOP = Faset (TOP, v1, v2); |
| 986 AFTER_POTENTIAL_GC (); | |
| 966 break; | 987 break; |
| 967 } | 988 } |
| 968 | 989 |
| 969 case Bsymbol_value: | 990 case Bsymbol_value: |
| 991 BEFORE_POTENTIAL_GC (); | |
| 970 TOP = Fsymbol_value (TOP); | 992 TOP = Fsymbol_value (TOP); |
| 993 AFTER_POTENTIAL_GC (); | |
| 971 break; | 994 break; |
| 972 | 995 |
| 973 case Bsymbol_function: | 996 case Bsymbol_function: |
| 997 BEFORE_POTENTIAL_GC (); | |
| 974 TOP = Fsymbol_function (TOP); | 998 TOP = Fsymbol_function (TOP); |
| 999 AFTER_POTENTIAL_GC (); | |
| 975 break; | 1000 break; |
| 976 | 1001 |
| 977 case Bset: | 1002 case Bset: |
| 978 { | 1003 { |
| 979 Lisp_Object v1; | 1004 Lisp_Object v1; |
| 1005 BEFORE_POTENTIAL_GC (); | |
| 980 v1 = POP; | 1006 v1 = POP; |
| 981 TOP = Fset (TOP, v1); | 1007 TOP = Fset (TOP, v1); |
| 1008 AFTER_POTENTIAL_GC (); | |
| 982 break; | 1009 break; |
| 983 } | 1010 } |
| 984 | 1011 |
| 985 case Bfset: | 1012 case Bfset: |
| 986 { | 1013 { |
| 987 Lisp_Object v1; | 1014 Lisp_Object v1; |
| 1015 BEFORE_POTENTIAL_GC (); | |
| 988 v1 = POP; | 1016 v1 = POP; |
| 989 TOP = Ffset (TOP, v1); | 1017 TOP = Ffset (TOP, v1); |
| 1018 AFTER_POTENTIAL_GC (); | |
| 990 break; | 1019 break; |
| 991 } | 1020 } |
| 992 | 1021 |
| 993 case Bget: | 1022 case Bget: |
| 994 { | 1023 { |
| 995 Lisp_Object v1; | 1024 Lisp_Object v1; |
| 1025 BEFORE_POTENTIAL_GC (); | |
| 996 v1 = POP; | 1026 v1 = POP; |
| 997 TOP = Fget (TOP, v1); | 1027 TOP = Fget (TOP, v1); |
| 1028 AFTER_POTENTIAL_GC (); | |
| 998 break; | 1029 break; |
| 999 } | 1030 } |
| 1000 | 1031 |
| 1001 case Bsubstring: | 1032 case Bsubstring: |
| 1002 { | 1033 { |
| 1003 Lisp_Object v1, v2; | 1034 Lisp_Object v1, v2; |
| 1035 BEFORE_POTENTIAL_GC (); | |
| 1004 v2 = POP; v1 = POP; | 1036 v2 = POP; v1 = POP; |
| 1005 BEFORE_POTENTIAL_GC (); | |
| 1006 TOP = Fsubstring (TOP, v1, v2); | 1037 TOP = Fsubstring (TOP, v1, v2); |
| 1007 AFTER_POTENTIAL_GC (); | 1038 AFTER_POTENTIAL_GC (); |
| 1008 break; | 1039 break; |
| 1009 } | 1040 } |
| 1010 | 1041 |
| 1011 case Bconcat2: | 1042 case Bconcat2: |
| 1043 BEFORE_POTENTIAL_GC (); | |
| 1012 DISCARD (1); | 1044 DISCARD (1); |
| 1013 TOP = Fconcat (2, &TOP); | 1045 TOP = Fconcat (2, &TOP); |
| 1046 AFTER_POTENTIAL_GC (); | |
| 1014 break; | 1047 break; |
| 1015 | 1048 |
| 1016 case Bconcat3: | 1049 case Bconcat3: |
| 1050 BEFORE_POTENTIAL_GC (); | |
| 1017 DISCARD (2); | 1051 DISCARD (2); |
| 1018 TOP = Fconcat (3, &TOP); | 1052 TOP = Fconcat (3, &TOP); |
| 1053 AFTER_POTENTIAL_GC (); | |
| 1019 break; | 1054 break; |
| 1020 | 1055 |
| 1021 case Bconcat4: | 1056 case Bconcat4: |
| 1057 BEFORE_POTENTIAL_GC (); | |
| 1022 DISCARD (3); | 1058 DISCARD (3); |
| 1023 TOP = Fconcat (4, &TOP); | 1059 TOP = Fconcat (4, &TOP); |
| 1060 AFTER_POTENTIAL_GC (); | |
| 1024 break; | 1061 break; |
| 1025 | 1062 |
| 1026 case BconcatN: | 1063 case BconcatN: |
| 1027 op = FETCH; | 1064 op = FETCH; |
| 1065 BEFORE_POTENTIAL_GC (); | |
| 1028 DISCARD (op - 1); | 1066 DISCARD (op - 1); |
| 1029 TOP = Fconcat (op, &TOP); | 1067 TOP = Fconcat (op, &TOP); |
| 1068 AFTER_POTENTIAL_GC (); | |
| 1030 break; | 1069 break; |
| 1031 | 1070 |
| 1032 case Bsub1: | 1071 case Bsub1: |
| 1033 { | 1072 { |
| 1034 Lisp_Object v1; | 1073 Lisp_Object v1; |
| 1051 { | 1090 { |
| 1052 XSETINT (v1, XINT (v1) + 1); | 1091 XSETINT (v1, XINT (v1) + 1); |
| 1053 TOP = v1; | 1092 TOP = v1; |
| 1054 } | 1093 } |
| 1055 else | 1094 else |
| 1056 TOP = Fadd1 (v1); | 1095 { |
| 1096 BEFORE_POTENTIAL_GC (); | |
| 1097 TOP = Fadd1 (v1); | |
| 1098 AFTER_POTENTIAL_GC (); | |
| 1099 } | |
| 1057 break; | 1100 break; |
| 1058 } | 1101 } |
| 1059 | 1102 |
| 1060 case Beqlsign: | 1103 case Beqlsign: |
| 1061 { | 1104 { |
| 1062 Lisp_Object v1, v2; | 1105 Lisp_Object v1, v2; |
| 1106 BEFORE_POTENTIAL_GC (); | |
| 1063 v2 = POP; v1 = TOP; | 1107 v2 = POP; v1 = TOP; |
| 1064 BEFORE_POTENTIAL_GC (); | |
| 1065 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v1, 0); | 1108 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v1, 0); |
| 1066 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v2, 0); | 1109 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v2, 0); |
| 1067 AFTER_POTENTIAL_GC (); | 1110 AFTER_POTENTIAL_GC (); |
| 1068 if (FLOATP (v1) || FLOATP (v2)) | 1111 if (FLOATP (v1) || FLOATP (v2)) |
| 1069 { | 1112 { |
| 1079 } | 1122 } |
| 1080 | 1123 |
| 1081 case Bgtr: | 1124 case Bgtr: |
| 1082 { | 1125 { |
| 1083 Lisp_Object v1; | 1126 Lisp_Object v1; |
| 1127 BEFORE_POTENTIAL_GC (); | |
| 1084 v1 = POP; | 1128 v1 = POP; |
| 1085 TOP = Fgtr (TOP, v1); | 1129 TOP = Fgtr (TOP, v1); |
| 1130 AFTER_POTENTIAL_GC (); | |
| 1086 break; | 1131 break; |
| 1087 } | 1132 } |
| 1088 | 1133 |
| 1089 case Blss: | 1134 case Blss: |
| 1090 { | 1135 { |
| 1091 Lisp_Object v1; | 1136 Lisp_Object v1; |
| 1137 BEFORE_POTENTIAL_GC (); | |
| 1092 v1 = POP; | 1138 v1 = POP; |
| 1093 TOP = Flss (TOP, v1); | 1139 TOP = Flss (TOP, v1); |
| 1140 AFTER_POTENTIAL_GC (); | |
| 1094 break; | 1141 break; |
| 1095 } | 1142 } |
| 1096 | 1143 |
| 1097 case Bleq: | 1144 case Bleq: |
| 1098 { | 1145 { |
| 1099 Lisp_Object v1; | 1146 Lisp_Object v1; |
| 1147 BEFORE_POTENTIAL_GC (); | |
| 1100 v1 = POP; | 1148 v1 = POP; |
| 1101 TOP = Fleq (TOP, v1); | 1149 TOP = Fleq (TOP, v1); |
| 1150 AFTER_POTENTIAL_GC (); | |
| 1102 break; | 1151 break; |
| 1103 } | 1152 } |
| 1104 | 1153 |
| 1105 case Bgeq: | 1154 case Bgeq: |
| 1106 { | 1155 { |
| 1109 TOP = Fgeq (TOP, v1); | 1158 TOP = Fgeq (TOP, v1); |
| 1110 break; | 1159 break; |
| 1111 } | 1160 } |
| 1112 | 1161 |
| 1113 case Bdiff: | 1162 case Bdiff: |
| 1163 BEFORE_POTENTIAL_GC (); | |
| 1114 DISCARD (1); | 1164 DISCARD (1); |
| 1115 TOP = Fminus (2, &TOP); | 1165 TOP = Fminus (2, &TOP); |
| 1166 AFTER_POTENTIAL_GC (); | |
| 1116 break; | 1167 break; |
| 1117 | 1168 |
| 1118 case Bnegate: | 1169 case Bnegate: |
| 1119 { | 1170 { |
| 1120 Lisp_Object v1; | 1171 Lisp_Object v1; |
| 1123 { | 1174 { |
| 1124 XSETINT (v1, - XINT (v1)); | 1175 XSETINT (v1, - XINT (v1)); |
| 1125 TOP = v1; | 1176 TOP = v1; |
| 1126 } | 1177 } |
| 1127 else | 1178 else |
| 1128 TOP = Fminus (1, &TOP); | 1179 { |
| 1180 BEFORE_POTENTIAL_GC (); | |
| 1181 TOP = Fminus (1, &TOP); | |
| 1182 AFTER_POTENTIAL_GC (); | |
| 1183 } | |
| 1129 break; | 1184 break; |
| 1130 } | 1185 } |
| 1131 | 1186 |
| 1132 case Bplus: | 1187 case Bplus: |
| 1188 BEFORE_POTENTIAL_GC (); | |
| 1133 DISCARD (1); | 1189 DISCARD (1); |
| 1134 TOP = Fplus (2, &TOP); | 1190 TOP = Fplus (2, &TOP); |
| 1191 AFTER_POTENTIAL_GC (); | |
| 1135 break; | 1192 break; |
| 1136 | 1193 |
| 1137 case Bmax: | 1194 case Bmax: |
| 1195 BEFORE_POTENTIAL_GC (); | |
| 1138 DISCARD (1); | 1196 DISCARD (1); |
| 1139 TOP = Fmax (2, &TOP); | 1197 TOP = Fmax (2, &TOP); |
| 1198 AFTER_POTENTIAL_GC (); | |
| 1140 break; | 1199 break; |
| 1141 | 1200 |
| 1142 case Bmin: | 1201 case Bmin: |
| 1202 BEFORE_POTENTIAL_GC (); | |
| 1143 DISCARD (1); | 1203 DISCARD (1); |
| 1144 TOP = Fmin (2, &TOP); | 1204 TOP = Fmin (2, &TOP); |
| 1205 AFTER_POTENTIAL_GC (); | |
| 1145 break; | 1206 break; |
| 1146 | 1207 |
| 1147 case Bmult: | 1208 case Bmult: |
| 1209 BEFORE_POTENTIAL_GC (); | |
| 1148 DISCARD (1); | 1210 DISCARD (1); |
| 1149 TOP = Ftimes (2, &TOP); | 1211 TOP = Ftimes (2, &TOP); |
| 1212 AFTER_POTENTIAL_GC (); | |
| 1150 break; | 1213 break; |
| 1151 | 1214 |
| 1152 case Bquo: | 1215 case Bquo: |
| 1216 BEFORE_POTENTIAL_GC (); | |
| 1153 DISCARD (1); | 1217 DISCARD (1); |
| 1154 TOP = Fquo (2, &TOP); | 1218 TOP = Fquo (2, &TOP); |
| 1219 AFTER_POTENTIAL_GC (); | |
| 1155 break; | 1220 break; |
| 1156 | 1221 |
| 1157 case Brem: | 1222 case Brem: |
| 1158 { | 1223 { |
| 1159 Lisp_Object v1; | 1224 Lisp_Object v1; |
| 1225 BEFORE_POTENTIAL_GC (); | |
| 1160 v1 = POP; | 1226 v1 = POP; |
| 1161 TOP = Frem (TOP, v1); | 1227 TOP = Frem (TOP, v1); |
| 1228 AFTER_POTENTIAL_GC (); | |
| 1162 break; | 1229 break; |
| 1163 } | 1230 } |
| 1164 | 1231 |
| 1165 case Bpoint: | 1232 case Bpoint: |
| 1166 { | 1233 { |
| 1205 PUSH (v1); | 1272 PUSH (v1); |
| 1206 break; | 1273 break; |
| 1207 } | 1274 } |
| 1208 | 1275 |
| 1209 case Bchar_after: | 1276 case Bchar_after: |
| 1277 BEFORE_POTENTIAL_GC (); | |
| 1210 TOP = Fchar_after (TOP); | 1278 TOP = Fchar_after (TOP); |
| 1279 AFTER_POTENTIAL_GC (); | |
| 1211 break; | 1280 break; |
| 1212 | 1281 |
| 1213 case Bfollowing_char: | 1282 case Bfollowing_char: |
| 1214 { | 1283 { |
| 1215 Lisp_Object v1; | 1284 Lisp_Object v1; |
| 1285 BEFORE_POTENTIAL_GC (); | |
| 1216 v1 = Ffollowing_char (); | 1286 v1 = Ffollowing_char (); |
| 1287 AFTER_POTENTIAL_GC (); | |
| 1217 PUSH (v1); | 1288 PUSH (v1); |
| 1218 break; | 1289 break; |
| 1219 } | 1290 } |
| 1220 | 1291 |
| 1221 case Bpreceding_char: | 1292 case Bpreceding_char: |
| 1222 { | 1293 { |
| 1223 Lisp_Object v1; | 1294 Lisp_Object v1; |
| 1295 BEFORE_POTENTIAL_GC (); | |
| 1224 v1 = Fprevious_char (); | 1296 v1 = Fprevious_char (); |
| 1297 AFTER_POTENTIAL_GC (); | |
| 1225 PUSH (v1); | 1298 PUSH (v1); |
| 1226 break; | 1299 break; |
| 1227 } | 1300 } |
| 1228 | 1301 |
| 1229 case Bcurrent_column: | 1302 case Bcurrent_column: |
| 1283 break; | 1356 break; |
| 1284 | 1357 |
| 1285 case Bskip_chars_forward: | 1358 case Bskip_chars_forward: |
| 1286 { | 1359 { |
| 1287 Lisp_Object v1; | 1360 Lisp_Object v1; |
| 1288 v1 = POP; | 1361 BEFORE_POTENTIAL_GC (); |
| 1289 BEFORE_POTENTIAL_GC (); | 1362 v1 = POP; |
| 1290 TOP = Fskip_chars_forward (TOP, v1); | 1363 TOP = Fskip_chars_forward (TOP, v1); |
| 1291 AFTER_POTENTIAL_GC (); | 1364 AFTER_POTENTIAL_GC (); |
| 1292 break; | 1365 break; |
| 1293 } | 1366 } |
| 1294 | 1367 |
| 1295 case Bskip_chars_backward: | 1368 case Bskip_chars_backward: |
| 1296 { | 1369 { |
| 1297 Lisp_Object v1; | 1370 Lisp_Object v1; |
| 1298 v1 = POP; | 1371 BEFORE_POTENTIAL_GC (); |
| 1299 BEFORE_POTENTIAL_GC (); | 1372 v1 = POP; |
| 1300 TOP = Fskip_chars_backward (TOP, v1); | 1373 TOP = Fskip_chars_backward (TOP, v1); |
| 1301 AFTER_POTENTIAL_GC (); | 1374 AFTER_POTENTIAL_GC (); |
| 1302 break; | 1375 break; |
| 1303 } | 1376 } |
| 1304 | 1377 |
| 1316 break; | 1389 break; |
| 1317 | 1390 |
| 1318 case Bbuffer_substring: | 1391 case Bbuffer_substring: |
| 1319 { | 1392 { |
| 1320 Lisp_Object v1; | 1393 Lisp_Object v1; |
| 1321 v1 = POP; | 1394 BEFORE_POTENTIAL_GC (); |
| 1322 BEFORE_POTENTIAL_GC (); | 1395 v1 = POP; |
| 1323 TOP = Fbuffer_substring (TOP, v1); | 1396 TOP = Fbuffer_substring (TOP, v1); |
| 1324 AFTER_POTENTIAL_GC (); | 1397 AFTER_POTENTIAL_GC (); |
| 1325 break; | 1398 break; |
| 1326 } | 1399 } |
| 1327 | 1400 |
| 1328 case Bdelete_region: | 1401 case Bdelete_region: |
| 1329 { | 1402 { |
| 1330 Lisp_Object v1; | 1403 Lisp_Object v1; |
| 1331 v1 = POP; | 1404 BEFORE_POTENTIAL_GC (); |
| 1332 BEFORE_POTENTIAL_GC (); | 1405 v1 = POP; |
| 1333 TOP = Fdelete_region (TOP, v1); | 1406 TOP = Fdelete_region (TOP, v1); |
| 1334 AFTER_POTENTIAL_GC (); | 1407 AFTER_POTENTIAL_GC (); |
| 1335 break; | 1408 break; |
| 1336 } | 1409 } |
| 1337 | 1410 |
| 1338 case Bnarrow_to_region: | 1411 case Bnarrow_to_region: |
| 1339 { | 1412 { |
| 1340 Lisp_Object v1; | 1413 Lisp_Object v1; |
| 1341 v1 = POP; | 1414 BEFORE_POTENTIAL_GC (); |
| 1342 BEFORE_POTENTIAL_GC (); | 1415 v1 = POP; |
| 1343 TOP = Fnarrow_to_region (TOP, v1); | 1416 TOP = Fnarrow_to_region (TOP, v1); |
| 1344 AFTER_POTENTIAL_GC (); | 1417 AFTER_POTENTIAL_GC (); |
| 1345 break; | 1418 break; |
| 1346 } | 1419 } |
| 1347 | 1420 |
| 1358 break; | 1431 break; |
| 1359 | 1432 |
| 1360 case Bset_marker: | 1433 case Bset_marker: |
| 1361 { | 1434 { |
| 1362 Lisp_Object v1, v2; | 1435 Lisp_Object v1, v2; |
| 1436 BEFORE_POTENTIAL_GC (); | |
| 1363 v1 = POP; | 1437 v1 = POP; |
| 1364 v2 = POP; | 1438 v2 = POP; |
| 1365 TOP = Fset_marker (TOP, v2, v1); | 1439 TOP = Fset_marker (TOP, v2, v1); |
| 1440 AFTER_POTENTIAL_GC (); | |
| 1366 break; | 1441 break; |
| 1367 } | 1442 } |
| 1368 | 1443 |
| 1369 case Bmatch_beginning: | 1444 case Bmatch_beginning: |
| 1445 BEFORE_POTENTIAL_GC (); | |
| 1370 TOP = Fmatch_beginning (TOP); | 1446 TOP = Fmatch_beginning (TOP); |
| 1447 AFTER_POTENTIAL_GC (); | |
| 1371 break; | 1448 break; |
| 1372 | 1449 |
| 1373 case Bmatch_end: | 1450 case Bmatch_end: |
| 1451 BEFORE_POTENTIAL_GC (); | |
| 1374 TOP = Fmatch_end (TOP); | 1452 TOP = Fmatch_end (TOP); |
| 1453 AFTER_POTENTIAL_GC (); | |
| 1375 break; | 1454 break; |
| 1376 | 1455 |
| 1377 case Bupcase: | 1456 case Bupcase: |
| 1457 BEFORE_POTENTIAL_GC (); | |
| 1378 TOP = Fupcase (TOP); | 1458 TOP = Fupcase (TOP); |
| 1459 AFTER_POTENTIAL_GC (); | |
| 1379 break; | 1460 break; |
| 1380 | 1461 |
| 1381 case Bdowncase: | 1462 case Bdowncase: |
| 1463 BEFORE_POTENTIAL_GC (); | |
| 1382 TOP = Fdowncase (TOP); | 1464 TOP = Fdowncase (TOP); |
| 1465 AFTER_POTENTIAL_GC (); | |
| 1383 break; | 1466 break; |
| 1384 | 1467 |
| 1385 case Bstringeqlsign: | 1468 case Bstringeqlsign: |
| 1386 { | 1469 { |
| 1387 Lisp_Object v1; | 1470 Lisp_Object v1; |
| 1471 BEFORE_POTENTIAL_GC (); | |
| 1388 v1 = POP; | 1472 v1 = POP; |
| 1389 TOP = Fstring_equal (TOP, v1); | 1473 TOP = Fstring_equal (TOP, v1); |
| 1474 AFTER_POTENTIAL_GC (); | |
| 1390 break; | 1475 break; |
| 1391 } | 1476 } |
| 1392 | 1477 |
| 1393 case Bstringlss: | 1478 case Bstringlss: |
| 1394 { | 1479 { |
| 1395 Lisp_Object v1; | 1480 Lisp_Object v1; |
| 1481 BEFORE_POTENTIAL_GC (); | |
| 1396 v1 = POP; | 1482 v1 = POP; |
| 1397 TOP = Fstring_lessp (TOP, v1); | 1483 TOP = Fstring_lessp (TOP, v1); |
| 1484 AFTER_POTENTIAL_GC (); | |
| 1398 break; | 1485 break; |
| 1399 } | 1486 } |
| 1400 | 1487 |
| 1401 case Bequal: | 1488 case Bequal: |
| 1402 { | 1489 { |
| 1407 } | 1494 } |
| 1408 | 1495 |
| 1409 case Bnthcdr: | 1496 case Bnthcdr: |
| 1410 { | 1497 { |
| 1411 Lisp_Object v1; | 1498 Lisp_Object v1; |
| 1499 BEFORE_POTENTIAL_GC (); | |
| 1412 v1 = POP; | 1500 v1 = POP; |
| 1413 TOP = Fnthcdr (TOP, v1); | 1501 TOP = Fnthcdr (TOP, v1); |
| 1502 AFTER_POTENTIAL_GC (); | |
| 1414 break; | 1503 break; |
| 1415 } | 1504 } |
| 1416 | 1505 |
| 1417 case Belt: | 1506 case Belt: |
| 1418 { | 1507 { |
| 1419 Lisp_Object v1, v2; | 1508 Lisp_Object v1, v2; |
| 1420 if (CONSP (TOP)) | 1509 if (CONSP (TOP)) |
| 1421 { | 1510 { |
| 1422 /* Exchange args and then do nth. */ | 1511 /* Exchange args and then do nth. */ |
| 1512 BEFORE_POTENTIAL_GC (); | |
| 1423 v2 = POP; | 1513 v2 = POP; |
| 1424 v1 = TOP; | 1514 v1 = TOP; |
| 1425 BEFORE_POTENTIAL_GC (); | |
| 1426 CHECK_NUMBER (v2, 0); | 1515 CHECK_NUMBER (v2, 0); |
| 1427 AFTER_POTENTIAL_GC (); | 1516 AFTER_POTENTIAL_GC (); |
| 1428 op = XINT (v2); | 1517 op = XINT (v2); |
| 1429 immediate_quit = 1; | 1518 immediate_quit = 1; |
| 1430 while (--op >= 0) | 1519 while (--op >= 0) |
| 1453 AFTER_POTENTIAL_GC (); | 1542 AFTER_POTENTIAL_GC (); |
| 1454 } | 1543 } |
| 1455 } | 1544 } |
| 1456 else | 1545 else |
| 1457 { | 1546 { |
| 1547 BEFORE_POTENTIAL_GC (); | |
| 1458 v1 = POP; | 1548 v1 = POP; |
| 1459 TOP = Felt (TOP, v1); | 1549 TOP = Felt (TOP, v1); |
| 1550 AFTER_POTENTIAL_GC (); | |
| 1460 } | 1551 } |
| 1461 break; | 1552 break; |
| 1462 } | 1553 } |
| 1463 | 1554 |
| 1464 case Bmember: | 1555 case Bmember: |
| 1465 { | 1556 { |
| 1466 Lisp_Object v1; | 1557 Lisp_Object v1; |
| 1558 BEFORE_POTENTIAL_GC (); | |
| 1467 v1 = POP; | 1559 v1 = POP; |
| 1468 TOP = Fmember (TOP, v1); | 1560 TOP = Fmember (TOP, v1); |
| 1561 AFTER_POTENTIAL_GC (); | |
| 1469 break; | 1562 break; |
| 1470 } | 1563 } |
| 1471 | 1564 |
| 1472 case Bassq: | 1565 case Bassq: |
| 1473 { | 1566 { |
| 1474 Lisp_Object v1; | 1567 Lisp_Object v1; |
| 1568 BEFORE_POTENTIAL_GC (); | |
| 1475 v1 = POP; | 1569 v1 = POP; |
| 1476 TOP = Fassq (TOP, v1); | 1570 TOP = Fassq (TOP, v1); |
| 1571 AFTER_POTENTIAL_GC (); | |
| 1477 break; | 1572 break; |
| 1478 } | 1573 } |
| 1479 | 1574 |
| 1480 case Bnreverse: | 1575 case Bnreverse: |
| 1576 BEFORE_POTENTIAL_GC (); | |
| 1481 TOP = Fnreverse (TOP); | 1577 TOP = Fnreverse (TOP); |
| 1578 AFTER_POTENTIAL_GC (); | |
| 1482 break; | 1579 break; |
| 1483 | 1580 |
| 1484 case Bsetcar: | 1581 case Bsetcar: |
| 1485 { | 1582 { |
| 1486 Lisp_Object v1; | 1583 Lisp_Object v1; |
| 1584 BEFORE_POTENTIAL_GC (); | |
| 1487 v1 = POP; | 1585 v1 = POP; |
| 1488 TOP = Fsetcar (TOP, v1); | 1586 TOP = Fsetcar (TOP, v1); |
| 1587 AFTER_POTENTIAL_GC (); | |
| 1489 break; | 1588 break; |
| 1490 } | 1589 } |
| 1491 | 1590 |
| 1492 case Bsetcdr: | 1591 case Bsetcdr: |
| 1493 { | 1592 { |
| 1494 Lisp_Object v1; | 1593 Lisp_Object v1; |
| 1594 BEFORE_POTENTIAL_GC (); | |
| 1495 v1 = POP; | 1595 v1 = POP; |
| 1496 TOP = Fsetcdr (TOP, v1); | 1596 TOP = Fsetcdr (TOP, v1); |
| 1597 AFTER_POTENTIAL_GC (); | |
| 1497 break; | 1598 break; |
| 1498 } | 1599 } |
| 1499 | 1600 |
| 1500 case Bcar_safe: | 1601 case Bcar_safe: |
| 1501 { | 1602 { |
| 1518 TOP = Qnil; | 1619 TOP = Qnil; |
| 1519 break; | 1620 break; |
| 1520 } | 1621 } |
| 1521 | 1622 |
| 1522 case Bnconc: | 1623 case Bnconc: |
| 1624 BEFORE_POTENTIAL_GC (); | |
| 1523 DISCARD (1); | 1625 DISCARD (1); |
| 1524 TOP = Fnconc (2, &TOP); | 1626 TOP = Fnconc (2, &TOP); |
| 1627 AFTER_POTENTIAL_GC (); | |
| 1525 break; | 1628 break; |
| 1526 | 1629 |
| 1527 case Bnumberp: | 1630 case Bnumberp: |
| 1528 TOP = (NUMBERP (TOP) ? Qt : Qnil); | 1631 TOP = (NUMBERP (TOP) ? Qt : Qnil); |
| 1529 break; | 1632 break; |
