-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=122024 Reviewed by Oliver Hunt. The DFG needs to be able to store things at a known offset from frame pointer so that the runtime can read those things. Prior to this patch, the DFG would use the exact offsets that the bytecode asked for, even in the case of inlining, where it would use the callsite stack offset to shift all of the inlined function's variables over just as they would have been if a bytecode interpreter had really made the call. But this won't work once WebKit-LLVM integration is complete. LLVM has no notion of storing things at a fixed offset from the frame pointer. We could try to hack LLVM to do that, but it would seriously complicate LLVM's stack layout. But what we might be able to do is have LLVM tell us (via an addressof intrinsic and a side-channel) where some alloca landed relative to the frame pointer. Hence if the DFG can put all of its flushed variables in a contiguous range that can be expresse...
a62d4829