|
@@ -0,0 +1,33 @@
|
|
|
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
+From: Mythri A <[email protected]>
|
|
|
+Date: Fri, 21 May 2021 11:12:41 +0100
|
|
|
+Subject: Return early when initializing feedback cell for AsmWasm functions
|
|
|
+
|
|
|
+AsmWasmFunctions don't allocate / use feedback vectors.
|
|
|
+
|
|
|
+Bug: chromium:1206289
|
|
|
+Change-Id: I970d5eaba6603809a844c2fc5753efba411cd719
|
|
|
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2909854
|
|
|
+Commit-Queue: Mythri Alle <[email protected]>
|
|
|
+Reviewed-by: Ross McIlroy <[email protected]>
|
|
|
+Cr-Commit-Position: refs/heads/master@{#74708}
|
|
|
+
|
|
|
+diff --git a/src/objects/js-function.cc b/src/objects/js-function.cc
|
|
|
+index 35010be838ea1a5a3bebbb8a86d3358092da5199..b17550a29668d3dab082a515c7287b219becd01d 100644
|
|
|
+--- a/src/objects/js-function.cc
|
|
|
++++ b/src/objects/js-function.cc
|
|
|
+@@ -361,6 +361,14 @@ void JSFunction::InitializeFeedbackCell(
|
|
|
+ Handle<JSFunction> function, IsCompiledScope* is_compiled_scope,
|
|
|
+ bool reset_budget_for_feedback_allocation) {
|
|
|
+ Isolate* const isolate = function->GetIsolate();
|
|
|
++#if V8_ENABLE_WEBASSEMBLY
|
|
|
++ // The following checks ensure that the feedback vectors are compatible with
|
|
|
++ // the feedback metadata. For Asm / Wasm functions we never allocate / use
|
|
|
++ // feedback vectors, so a mismatch between the metadata and feedback vector is
|
|
|
++ // harmless. The checks could fail for functions that has has_asm_wasm_broken
|
|
|
++ // set at runtime (for ex: failed instantiation).
|
|
|
++ if (function->shared().HasAsmWasmData()) return;
|
|
|
++#endif // V8_ENABLE_WEBASSEMBLY
|
|
|
+
|
|
|
+ if (function->has_feedback_vector()) {
|
|
|
+ CHECK_EQ(function->feedback_vector().length(),
|