Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 The mask that compiles to nothing: how HotSpot's JIT learned to reason about bits | Lobsters
I remember eBPF does something similar, but not for JIT compilation: the kernel needs a way to ensure an eBPF program halts. So they actually "pre-run" the program, using bit masks and ranges to keep track of every variables and arguments (and value types to ensure no invalid pointers are ever used), and try to deduce whether it ends in time.
That's right! An older draft of the article actually had links to eBPF, but I thought the blog was already dense and reference-heavy so I removed them.
I remember eBPF does something similar, but not for JIT compilation: the kernel needs a way to ensure an eBPF program halts. So they actually "pre-run" the program, using bit masks and ranges to keep track of every variables and arguments (and value types to ensure no invalid pointers are ever used), and try to deduce whether it ends in time.
That's right! An older draft of the article actually had links to eBPF, but I thought the blog was already dense and reference-heavy so I removed them.