-
Clemens Backes authored
In very rare cases we open CodeSpaceWriteScopes for multiple native modules at the same time, e.g. for tier down (debugging) via ExecuteCompilationUnits --> PublishCompilationResults --> OnFinishedUnits --> TriggerCallbacks --> AsyncCompileJob::CompilationStateCallback::call --> WasmEngine::UpdateNativeModuleCache --> RecompileNativeModule [for tier down] --> InitializeRecompilation --> FindFunctionsToRecompile --> CodeSpaceWriteScope Fixing this would be difficult because we actually want to keep the CodeSpaceWriteScope open during subsequent publishing. So instead, remove the assumption that scopes are always only open for one module at a time. In order to do this, we remove the {code_space_write_nesting_level_} counter and instead use the {current_native_module_} field in all configurations to check whether a scope is currently open, and for which module. R=jkummerow@chromium.org Bug: v8:12644, v8:11974 Change-Id: Idd24c87f5938c43e867c41fa1cd3879def6f3873 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3484317Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79286}
1023ecee