-
Jaroslav Sevcik authored
With this change, the return value is not baked into the translations for lazy deoptimization point. Instead, the translation contains a position where the return value(s) should be written by the deoptimizer. The deoptimizer then constructs the frame as it would look before and during the call and then overwrites the relevant slot(s) with the return value(s) from the callee. The advantage is that we do not run the risk of overwriting captured objects in the tranlations. Moreover, the translations correctly reflect the frame during the call (e.g., if it is inspected by the debugger or if an exception is thrown and no value is returned). Bug: chromium:902608 Change-Id: I03824f0efec3dd476feacbcc0ab6102c3e6c94bf Reviewed-on: https://chromium-review.googlesource.com/c/1329203 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#57446}
125d764e