Description[compiler] Improve contract for Compiler::CompileDebugCode.
This changes the contract for the aforementioned API function to be more
permissive and allow callers to call it with less restrictions. The new
contract is:
a) For so far un-compiled functions, the compiler is free to choose the
backend according to other decision criteria. Debug code can hence be
provided by either Ignition or FullCodegen.
b) For compiled functions, the compiler will provide debug code within
the same tier as existing code. For Ignition the generated code will
be equivalent to the old one. For FullCodegen the code will contain
debug information and debug break slots.
Concretely this fixes an issue where generator or async functions might
have been compiled with an unexpected backend, due to the fact that the
API method in question was always providing FullCodegen code.
R=yangguo@chromium.org
Committed: https://crrev.com/80b98da2cda6d0225798cec4213d842811d20df3
Cr-Commit-Position: refs/heads/master@{#36808}
Patch Set 1 #Patch Set 2 : Fix comment. #Patch Set 3 : Incorporate patch from Yang Guo. #Patch Set 4 : Workaround for regenerated bytecode. #
Messages
Total messages: 11 (6 generated)
|