6 ms·
The thing is in case of tracing you don't record all paths taken, just the one at the hot point. So say you have if that takes every path every second go, the J
by fijall 16y ago
The thing is in case of tracing you don't record all paths taken, just the one at the hot point. So say you have if that takes every path every second go, the JIT will compile just one path at first. Then the guard will fail every second iteration, hence the blackhole. Of course at some point JIT will realize guard fails often enough and will compile another path, so you'll get a tree. And so on...