Convert numeric string array keys to integers correctly in JITted code While fixing bugs in mbstring, one of my new test cases failed with a strange error message stating: 'Warning: Unde
Convert numeric string array keys to integers correctly in JITted code While fixing bugs in mbstring, one of my new test cases failed with a strange error message stating: 'Warning: Undefined array key 1...', when clearly the array key had been set properly. GDB'd that sucker and found that JIT'd PHP code was calling directly into `zend_hash_add_new` (which was not converting the numeric string key to an integer properly). But where was that code coming from? I examined the disasm, looked up symbols to figure out where call instructions were going, then grepped the codebase for those function names. It soon became clear that the disasm I was looking at was compiled from `zend_jit_fetch_dim_w_helper`.
show more ...
|