gh8030-001.phpt 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543
  1. --TEST--
  2. GH-8030: Segfault with JIT and large match/switch statements 001
  3. --EXTENSIONS--
  4. opcache
  5. --INI--
  6. opcache.enable=1
  7. opcache.enable_cli=1
  8. opcache.jit_buffer_size=1M
  9. opcache.jit=1255
  10. opcache.file_update_protection=0
  11. opcache.revalidate_freq=0
  12. opcache.protect_memory=1
  13. --FILE--
  14. <?php
  15. function lookup($s){
  16. return match($s){
  17. 1 => 1,
  18. 2 => 2,
  19. 3 => 3,
  20. 4 => 4,
  21. 5 => 5,
  22. 6 => 6,
  23. 7 => 7,
  24. 8 => 8,
  25. 9 => 9,
  26. 10 => 10,
  27. 11 => 11,
  28. 12 => 12,
  29. 13 => 13,
  30. 14 => 14,
  31. 15 => 15,
  32. 16 => 16,
  33. 17 => 17,
  34. 18 => 18,
  35. 19 => 19,
  36. 20 => 20,
  37. 21 => 21,
  38. 22 => 22,
  39. 23 => 23,
  40. 24 => 24,
  41. 25 => 25,
  42. 26 => 26,
  43. 27 => 27,
  44. 28 => 28,
  45. 29 => 29,
  46. 30 => 30,
  47. 31 => 31,
  48. 32 => 32,
  49. 33 => 33,
  50. 34 => 34,
  51. 35 => 35,
  52. 36 => 36,
  53. 37 => 37,
  54. 38 => 38,
  55. 39 => 39,
  56. 40 => 40,
  57. 41 => 41,
  58. 42 => 42,
  59. 43 => 43,
  60. 44 => 44,
  61. 45 => 45,
  62. 46 => 46,
  63. 47 => 47,
  64. 48 => 48,
  65. 49 => 49,
  66. 50 => 50,
  67. 51 => 51,
  68. 52 => 52,
  69. 53 => 53,
  70. 54 => 54,
  71. 55 => 55,
  72. 56 => 56,
  73. 57 => 57,
  74. 58 => 58,
  75. 59 => 59,
  76. 60 => 60,
  77. 61 => 61,
  78. 62 => 62,
  79. 63 => 63,
  80. 64 => 64,
  81. 65 => 65,
  82. 66 => 66,
  83. 67 => 67,
  84. 68 => 68,
  85. 69 => 69,
  86. 70 => 70,
  87. 71 => 71,
  88. 72 => 72,
  89. 73 => 73,
  90. 74 => 74,
  91. 75 => 75,
  92. 76 => 76,
  93. 77 => 77,
  94. 78 => 78,
  95. 79 => 79,
  96. 80 => 80,
  97. 81 => 81,
  98. 82 => 82,
  99. 83 => 83,
  100. 84 => 84,
  101. 85 => 85,
  102. 86 => 86,
  103. 87 => 87,
  104. 88 => 88,
  105. 89 => 89,
  106. 90 => 90,
  107. 91 => 91,
  108. 92 => 92,
  109. 93 => 93,
  110. 94 => 94,
  111. 95 => 95,
  112. 96 => 96,
  113. 97 => 97,
  114. 98 => 98,
  115. 99 => 99,
  116. 100 => 100,
  117. 101 => 101,
  118. 102 => 102,
  119. 103 => 103,
  120. 104 => 104,
  121. 105 => 105,
  122. 106 => 106,
  123. 107 => 107,
  124. 108 => 108,
  125. 109 => 109,
  126. 110 => 110,
  127. 111 => 111,
  128. 112 => 112,
  129. 113 => 113,
  130. 114 => 114,
  131. 115 => 115,
  132. 116 => 116,
  133. 117 => 117,
  134. 118 => 118,
  135. 119 => 119,
  136. 120 => 120,
  137. 121 => 121,
  138. 122 => 122,
  139. 123 => 123,
  140. 124 => 124,
  141. 125 => 125,
  142. 126 => 126,
  143. 127 => 127,
  144. 128 => 128,
  145. 129 => 129,
  146. 130 => 130,
  147. 131 => 131,
  148. 132 => 132,
  149. 133 => 133,
  150. 134 => 134,
  151. 135 => 135,
  152. 136 => 136,
  153. 137 => 137,
  154. 138 => 138,
  155. 139 => 139,
  156. 140 => 140,
  157. 141 => 141,
  158. 142 => 142,
  159. 143 => 143,
  160. 144 => 144,
  161. 145 => 145,
  162. 146 => 146,
  163. 147 => 147,
  164. 148 => 148,
  165. 149 => 149,
  166. 150 => 150,
  167. 151 => 151,
  168. 152 => 152,
  169. 153 => 153,
  170. 154 => 154,
  171. 155 => 155,
  172. 156 => 156,
  173. 157 => 157,
  174. 158 => 158,
  175. 159 => 159,
  176. 160 => 160,
  177. 161 => 161,
  178. 162 => 162,
  179. 163 => 163,
  180. 164 => 164,
  181. 165 => 165,
  182. 166 => 166,
  183. 167 => 167,
  184. 168 => 168,
  185. 169 => 169,
  186. 170 => 170,
  187. 171 => 171,
  188. 172 => 172,
  189. 173 => 173,
  190. 174 => 174,
  191. 175 => 175,
  192. 176 => 176,
  193. 177 => 177,
  194. 178 => 178,
  195. 179 => 179,
  196. 180 => 180,
  197. 181 => 181,
  198. 182 => 182,
  199. 183 => 183,
  200. 184 => 184,
  201. 185 => 185,
  202. 186 => 186,
  203. 187 => 187,
  204. 188 => 188,
  205. 189 => 189,
  206. 190 => 190,
  207. 191 => 191,
  208. 192 => 192,
  209. 193 => 193,
  210. 194 => 194,
  211. 195 => 195,
  212. 196 => 196,
  213. 197 => 197,
  214. 198 => 198,
  215. 199 => 199,
  216. 200 => 200,
  217. 201 => 201,
  218. 202 => 202,
  219. 203 => 203,
  220. 204 => 204,
  221. 205 => 205,
  222. 206 => 206,
  223. 207 => 207,
  224. 208 => 208,
  225. 209 => 209,
  226. 210 => 210,
  227. 211 => 211,
  228. 212 => 212,
  229. 213 => 213,
  230. 214 => 214,
  231. 215 => 215,
  232. 216 => 216,
  233. 217 => 217,
  234. 218 => 218,
  235. 219 => 219,
  236. 220 => 220,
  237. 221 => 221,
  238. 222 => 222,
  239. 223 => 223,
  240. 224 => 224,
  241. 225 => 225,
  242. 226 => 226,
  243. 227 => 227,
  244. 228 => 228,
  245. 229 => 229,
  246. 230 => 230,
  247. 231 => 231,
  248. 232 => 232,
  249. 233 => 233,
  250. 234 => 234,
  251. 235 => 235,
  252. 236 => 236,
  253. 237 => 237,
  254. 238 => 238,
  255. 239 => 239,
  256. 240 => 240,
  257. 241 => 241,
  258. 242 => 242,
  259. 243 => 243,
  260. 244 => 244,
  261. 245 => 245,
  262. 246 => 246,
  263. 247 => 247,
  264. 248 => 248,
  265. 249 => 249,
  266. 250 => 250,
  267. 251 => 251,
  268. 252 => 252,
  269. 253 => 253,
  270. 254 => 254,
  271. 255 => 255,
  272. 256 => 256,
  273. 257 => 257,
  274. 258 => 258,
  275. 259 => 259,
  276. 260 => 260,
  277. 261 => 261,
  278. 262 => 262,
  279. 263 => 263,
  280. 264 => 264,
  281. 265 => 265,
  282. 266 => 266,
  283. 267 => 267,
  284. 268 => 268,
  285. 269 => 269,
  286. 270 => 270,
  287. 271 => 271,
  288. 272 => 272,
  289. 273 => 273,
  290. 274 => 274,
  291. 275 => 275,
  292. 276 => 276,
  293. 277 => 277,
  294. 278 => 278,
  295. 279 => 279,
  296. 280 => 280,
  297. 281 => 281,
  298. 282 => 282,
  299. 283 => 283,
  300. 284 => 284,
  301. 285 => 285,
  302. 286 => 286,
  303. 287 => 287,
  304. 288 => 288,
  305. 289 => 289,
  306. 290 => 290,
  307. 291 => 291,
  308. 292 => 292,
  309. 293 => 293,
  310. 294 => 294,
  311. 295 => 295,
  312. 296 => 296,
  313. 297 => 297,
  314. 298 => 298,
  315. 299 => 299,
  316. 300 => 300,
  317. 301 => 301,
  318. 302 => 302,
  319. 303 => 303,
  320. 304 => 304,
  321. 305 => 305,
  322. 306 => 306,
  323. 307 => 307,
  324. 308 => 308,
  325. 309 => 309,
  326. 310 => 310,
  327. 311 => 311,
  328. 312 => 312,
  329. 313 => 313,
  330. 314 => 314,
  331. 315 => 315,
  332. 316 => 316,
  333. 317 => 317,
  334. 318 => 318,
  335. 319 => 319,
  336. 320 => 320,
  337. 321 => 321,
  338. 322 => 322,
  339. 323 => 323,
  340. 324 => 324,
  341. 325 => 325,
  342. 326 => 326,
  343. 327 => 327,
  344. 328 => 328,
  345. 329 => 329,
  346. 330 => 330,
  347. 331 => 331,
  348. 332 => 332,
  349. 333 => 333,
  350. 334 => 334,
  351. 335 => 335,
  352. 336 => 336,
  353. 337 => 337,
  354. 338 => 338,
  355. 339 => 339,
  356. 340 => 340,
  357. 341 => 341,
  358. 342 => 342,
  359. 343 => 343,
  360. 344 => 344,
  361. 345 => 345,
  362. 346 => 346,
  363. 347 => 347,
  364. 348 => 348,
  365. 349 => 349,
  366. 350 => 350,
  367. 351 => 351,
  368. 352 => 352,
  369. 353 => 353,
  370. 354 => 354,
  371. 355 => 355,
  372. 356 => 356,
  373. 357 => 357,
  374. 358 => 358,
  375. 359 => 359,
  376. 360 => 360,
  377. 361 => 361,
  378. 362 => 362,
  379. 363 => 363,
  380. 364 => 364,
  381. 365 => 365,
  382. 366 => 366,
  383. 367 => 367,
  384. 368 => 368,
  385. 369 => 369,
  386. 370 => 370,
  387. 371 => 371,
  388. 372 => 372,
  389. 373 => 373,
  390. 374 => 374,
  391. 375 => 375,
  392. 376 => 376,
  393. 377 => 377,
  394. 378 => 378,
  395. 379 => 379,
  396. 380 => 380,
  397. 381 => 381,
  398. 382 => 382,
  399. 383 => 383,
  400. 384 => 384,
  401. 385 => 385,
  402. 386 => 386,
  403. 387 => 387,
  404. 388 => 388,
  405. 389 => 389,
  406. 390 => 390,
  407. 391 => 391,
  408. 392 => 392,
  409. 393 => 393,
  410. 394 => 394,
  411. 395 => 395,
  412. 396 => 396,
  413. 397 => 397,
  414. 398 => 398,
  415. 399 => 399,
  416. 400 => 400,
  417. 401 => 401,
  418. 402 => 402,
  419. 403 => 403,
  420. 404 => 404,
  421. 405 => 405,
  422. 406 => 406,
  423. 407 => 407,
  424. 408 => 408,
  425. 409 => 409,
  426. 410 => 410,
  427. 411 => 411,
  428. 412 => 412,
  429. 413 => 413,
  430. 414 => 414,
  431. 415 => 415,
  432. 416 => 416,
  433. 417 => 417,
  434. 418 => 418,
  435. 419 => 419,
  436. 420 => 420,
  437. 421 => 421,
  438. 422 => 422,
  439. 423 => 423,
  440. 424 => 424,
  441. 425 => 425,
  442. 426 => 426,
  443. 427 => 427,
  444. 428 => 428,
  445. 429 => 429,
  446. 430 => 430,
  447. 431 => 431,
  448. 432 => 432,
  449. 433 => 433,
  450. 434 => 434,
  451. 435 => 435,
  452. 436 => 436,
  453. 437 => 437,
  454. 438 => 438,
  455. 439 => 439,
  456. 440 => 440,
  457. 441 => 441,
  458. 442 => 442,
  459. 443 => 443,
  460. 444 => 444,
  461. 445 => 445,
  462. 446 => 446,
  463. 447 => 447,
  464. 448 => 448,
  465. 449 => 449,
  466. 450 => 450,
  467. 451 => 451,
  468. 452 => 452,
  469. 453 => 453,
  470. 454 => 454,
  471. 455 => 455,
  472. 456 => 456,
  473. 457 => 457,
  474. 458 => 458,
  475. 459 => 459,
  476. 460 => 460,
  477. 461 => 461,
  478. 462 => 462,
  479. 463 => 463,
  480. 464 => 464,
  481. 465 => 465,
  482. 466 => 466,
  483. 467 => 467,
  484. 468 => 468,
  485. 469 => 469,
  486. 470 => 470,
  487. 471 => 471,
  488. 472 => 472,
  489. 473 => 473,
  490. 474 => 474,
  491. 475 => 475,
  492. 476 => 476,
  493. 477 => 477,
  494. 478 => 478,
  495. 479 => 479,
  496. 480 => 480,
  497. 481 => 481,
  498. 482 => 482,
  499. 483 => 483,
  500. 484 => 484,
  501. 485 => 485,
  502. 486 => 486,
  503. 487 => 487,
  504. 488 => 488,
  505. 489 => 489,
  506. 490 => 490,
  507. 491 => 491,
  508. 492 => 492,
  509. 493 => 493,
  510. 494 => 494,
  511. 495 => 495,
  512. 496 => 496,
  513. 497 => 497,
  514. 498 => 498,
  515. 499 => 499,
  516. 500 => 500,
  517. 501 => 501,
  518. 502 => 502,
  519. 503 => 503,
  520. 504 => 504,
  521. 505 => 505,
  522. 506 => 506,
  523. 507 => 507,
  524. 508 => 508,
  525. 509 => 509,
  526. 510 => 510,
  527. 511 => 511,
  528. 512 => 512,
  529. 513 => 513,
  530. };
  531. }
  532. for ($i=0; $i<2; $i++){
  533. var_dump(lookup(510));
  534. var_dump(lookup(513));
  535. }
  536. ?>
  537. ==DONE==
  538. --EXPECT--
  539. int(510)
  540. int(513)
  541. int(510)
  542. int(513)
  543. ==DONE==