Commit 115a365
Simplify executor's handling of CaseTestExpr & CoerceToDomainValue.
Instead of deciding at runtime whether to read from casetest.value
or caseValue_datum, split EEOP_CASE_TESTVAL into two opcodes and
make the decision during expression compilation. Similarly for
EEOP_DOMAIN_TESTVAL. This actually results in net less code,
mainly because llvmjit_expr.c's code for handling these opcodes
gets shorter. The performance gain is doubtless negligible, but
this seems worth changing anyway on grounds of simplicity and
understandability.
Author: Andreas Karlsson <andreas@proxel.se>
Co-authored-by: Xing Guo <higuoxing@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/CACpMh+AiBYAWn+D1aU7Rsy-V1tox06Cbc0H3qA7rwL5zdJ=anQ@mail.gmail.com1 parent 6252b1e commit 115a365
File tree
4 files changed
+63
-88
lines changed- src
- backend
- executor
- jit/llvm
- include/executor
4 files changed
+63
-88
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1901 | 1901 | | |
1902 | 1902 | | |
1903 | 1903 | | |
1904 | | - | |
1905 | | - | |
| 1904 | + | |
| 1905 | + | |
1906 | 1906 | | |
1907 | | - | |
1908 | | - | |
1909 | | - | |
1910 | | - | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
1911 | 1915 | | |
1912 | 1916 | | |
1913 | 1917 | | |
| |||
2594 | 2598 | | |
2595 | 2599 | | |
2596 | 2600 | | |
2597 | | - | |
2598 | | - | |
| 2601 | + | |
| 2602 | + | |
2599 | 2603 | | |
2600 | | - | |
2601 | | - | |
2602 | | - | |
2603 | | - | |
2604 | | - | |
| 2604 | + | |
| 2605 | + | |
| 2606 | + | |
| 2607 | + | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
| 2611 | + | |
| 2612 | + | |
2605 | 2613 | | |
2606 | 2614 | | |
2607 | 2615 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
365 | 365 | | |
366 | 366 | | |
367 | 367 | | |
368 | | - | |
369 | | - | |
| 368 | + | |
370 | 369 | | |
371 | 370 | | |
372 | 371 | | |
| |||
524 | 523 | | |
525 | 524 | | |
526 | 525 | | |
| 526 | + | |
527 | 527 | | |
528 | 528 | | |
529 | 529 | | |
| |||
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
| 551 | + | |
551 | 552 | | |
552 | 553 | | |
553 | 554 | | |
| |||
1273 | 1274 | | |
1274 | 1275 | | |
1275 | 1276 | | |
1276 | | - | |
1277 | | - | |
1278 | | - | |
1279 | | - | |
1280 | | - | |
1281 | | - | |
1282 | | - | |
1283 | | - | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
1287 | | - | |
1288 | | - | |
1289 | | - | |
1290 | | - | |
1291 | | - | |
1292 | | - | |
1293 | | - | |
1294 | | - | |
| 1277 | + | |
| 1278 | + | |
1295 | 1279 | | |
1296 | 1280 | | |
1297 | 1281 | | |
1298 | 1282 | | |
1299 | | - | |
| 1283 | + | |
1300 | 1284 | | |
1301 | | - | |
1302 | | - | |
1303 | | - | |
1304 | | - | |
1305 | | - | |
1306 | | - | |
1307 | | - | |
1308 | | - | |
1309 | | - | |
1310 | | - | |
1311 | | - | |
1312 | | - | |
1313 | | - | |
| 1285 | + | |
| 1286 | + | |
1314 | 1287 | | |
1315 | 1288 | | |
1316 | 1289 | | |
| |||
1726 | 1699 | | |
1727 | 1700 | | |
1728 | 1701 | | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
1729 | 1718 | | |
1730 | 1719 | | |
1731 | 1720 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1265 | 1265 | | |
1266 | 1266 | | |
1267 | 1267 | | |
1268 | | - | |
1269 | | - | |
1270 | 1268 | | |
1271 | 1269 | | |
1272 | 1270 | | |
1273 | 1271 | | |
1274 | | - | |
1275 | | - | |
1276 | | - | |
1277 | | - | |
1278 | | - | |
1279 | | - | |
1280 | 1272 | | |
1281 | 1273 | | |
1282 | 1274 | | |
1283 | 1275 | | |
1284 | 1276 | | |
1285 | 1277 | | |
1286 | | - | |
1287 | | - | |
1288 | | - | |
1289 | | - | |
1290 | | - | |
1291 | | - | |
1292 | | - | |
1293 | | - | |
1294 | | - | |
1295 | 1278 | | |
1296 | 1279 | | |
1297 | 1280 | | |
1298 | 1281 | | |
| 1282 | + | |
1299 | 1283 | | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
1300 | 1291 | | |
1301 | | - | |
1302 | | - | |
1303 | 1292 | | |
1304 | 1293 | | |
1305 | 1294 | | |
| |||
1958 | 1947 | | |
1959 | 1948 | | |
1960 | 1949 | | |
1961 | | - | |
1962 | | - | |
1963 | 1950 | | |
1964 | 1951 | | |
1965 | 1952 | | |
1966 | 1953 | | |
1967 | | - | |
1968 | | - | |
1969 | | - | |
1970 | | - | |
1971 | | - | |
1972 | | - | |
1973 | 1954 | | |
1974 | 1955 | | |
1975 | 1956 | | |
1976 | 1957 | | |
1977 | 1958 | | |
1978 | 1959 | | |
1979 | | - | |
1980 | | - | |
1981 | | - | |
1982 | | - | |
1983 | | - | |
1984 | | - | |
1985 | | - | |
1986 | | - | |
1987 | | - | |
1988 | | - | |
1989 | | - | |
1990 | 1960 | | |
1991 | 1961 | | |
1992 | 1962 | | |
1993 | 1963 | | |
| 1964 | + | |
1994 | 1965 | | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
1995 | 1973 | | |
1996 | | - | |
1997 | | - | |
1998 | 1974 | | |
1999 | 1975 | | |
2000 | 1976 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
| 176 | + | |
176 | 177 | | |
177 | 178 | | |
178 | 179 | | |
| |||
237 | 238 | | |
238 | 239 | | |
239 | 240 | | |
| 241 | + | |
240 | 242 | | |
241 | 243 | | |
242 | 244 | | |
| |||
0 commit comments