If a code block has baseline profiling data because it was tiered up from LLInt to Baseline, then the DFG will try to read that additional data. The updates to that data (like incrementing slow-path counters) are racy and that's fine. But the bug is that the *creation* of those data structures that the Baseline JIT uses and the DFG reads is also racy and this is leading to hilarious crashes.
Created attachment 202623 [details] the patch
Comment on attachment 202623 [details] the patch r=me
Landed in http://trac.webkit.org/changeset/150563