Issue 11420 in v8: Tracking bug for Sparkplug

57 views
Skip to first unread message

lesz… via monorail

unread,
Feb 9, 2021, 11:07:07 AM2/9/21
to v8-re...@googlegroups.com
Status: Assigned
Owner: les...@chromium.org
CC: pth...@chromium.org, jgr...@chromium.org, cbr...@chromium.org, verwa...@chromium.org, ish...@chromium.org, victo...@chromium.org, ma...@chromium.org
Type: Task

New issue 11420 by les...@chromium.org: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420

Sparkplug is a new baseline, non-optimising second-tier compiler,
designed to fit in the compiler trade-off space between Ignition and
TurboProp/TurboFan.

Design doc:
https://docs.google.com/document/d/13c-xXmFOMcpUQNqo66XWQt3u46TsBjXrHrh4c045l-A/edit?usp=sharing

--
You received this message because:
1. The project was configured to send all issue notifications to this address

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

cbr… via monorail

unread,
Feb 9, 2021, 11:09:13 AM2/9/21
to v8-re...@googlegroups.com
Updates:
Labels: Performance

Comment #1 on issue 11420 by cbr...@google.com: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c1

(No comment was entered for this change.)

lesz… via monorail

unread,
Feb 9, 2021, 11:18:33 AM2/9/21
to v8-re...@googlegroups.com
Updates:
Blockedon: chromium:1176196

Comment #3 on issue 11420 by les...@chromium.org: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c3

Making this block on the chromium-side launch bug

bugdroid via monorail

unread,
Feb 12, 2021, 4:31:28 AM2/12/21
to v8-re...@googlegroups.com

Comment #4 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c4

The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/c053419e8ca5fb983cb60d6c32b111bdf92d646f

commit c053419e8ca5fb983cb60d6c32b111bdf92d646f
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Feb 12 09:31:06 2021

[sparkplug] Upstream Sparkplug


Sparkplug is a new baseline, non-optimising second-tier compiler,
designed to fit in the compiler trade-off space between Ignition and
TurboProp/TurboFan.

Design doc:
https://docs.google.com/document/d/13c-xXmFOMcpUQNqo66XWQt3u46TsBjXrHrh4c045l-A/edit?usp=sharing

Bug: v8:11420
Change-Id: Ideb7270db3d6548eedd8337a3f596eb6f8fea6b1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2667514
Commit-Queue: Leszek Swirski <les...@chromium.org>
Reviewed-by: Michael Stanton <mvst...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Reviewed-by: Michael Achenbach <mache...@chromium.org>
Reviewed-by: Hannes Payer <hpa...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72686}

[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/mjsunit/mjsunit.status
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/ic/unary-op-assembler.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/shared-function-info-inl.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/deoptimizer/deoptimizer.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/cctest/test-log.cc
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/baseline/arm64/baseline-compiler-arm64-inl.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/ppc/interface-descriptors-ppc.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/mjsunit/mjsunit.js
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/mjsunit/es6/super-ic-opt-no-turboprop.js
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/internal.tq
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/interpreter/bytecode-array-accessor.cc
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/baseline/OWNERS
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/js-function.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/js-function.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/builtins-internal-gen.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/code.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/compiler.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/ic/accessor-assembler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/code-stub-assembler.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/compiler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/interpreter/bytecode-register.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/arm64/macro-assembler-arm64-inl.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/mjsunit/es6/super-ic-opt.js
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/builtins-constructor-gen.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/ic/unary-op-assembler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/runtime/runtime-compiler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/execution/isolate.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/shared-function-info.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/s390/interface-descriptors-s390.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/execution/frames-inl.h
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/mjsunit/baseline/test-baseline.js
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/code-kind.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/execution/isolate.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/interpreter/bytecode-register.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/arguments.tq
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/logging/log.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/builtins-lazy-gen.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/flags/flag-definitions.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/turbo-assembler.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/deoptimizer/deoptimizer.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/execution/frames.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/logging/counters.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/BUILD.gn
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/heap/mark-compact.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/code-inl.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/code-comments.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/js-function-inl.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/snapshot/serializer.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/code-stub-assembler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/mips/interface-descriptors-mips.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/debug/debug.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/interpreter/interpreter-generator.cc
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/mjsunit/baseline/cross-realm.js
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/iterator.tq
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/runtime/runtime.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/shared-function-info.tq
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/code-comments.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/tools/testrunner/local/variants.py
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/arm64/macro-assembler-arm64.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/ic/binary-op-assembler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/execution/runtime-profiler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/bailout-reason.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/execution/frames.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/x64/macro-assembler-x64.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/diagnostics/perf-jit.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/builtins-number-gen.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/interpreter/interpreter-assembler.cc
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/baseline/x64/baseline-compiler-x64-inl.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/interpreter/bytecode-array-accessor.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/shared-function-info.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/code.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/builtins-ic-gen.cc
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/baseline/DEPS
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/runtime/runtime-interpreter.cc
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/baseline/baseline.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/cctest/heap/test-concurrent-allocation.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/x64/interface-descriptors-x64.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/objects-definitions.h
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/baseline/baseline-compiler.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/builtins-call-gen.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/profiler/profiler-listener.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/debug/wasm/gdb-server/wasm-module-debug.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/runtime/runtime-test.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/runtime/runtime-internal.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/interface-descriptors.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/arm64/macro-assembler-arm64.cc
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/mjsunit/baseline/test-baseline-module.mjs
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/objects/code-kind.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/ic/binary-op-assembler.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/constructor.tq
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/turbo-assembler.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/heap/factory.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/wasm/wasm-code-manager.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/heap/factory.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/source-position-table.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/builtins-definitions.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/common/globals.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/interface-descriptors.h
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/mips64/interface-descriptors-mips64.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/tools/profile.mjs
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/codegen/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/tools/v8heapconst.py
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/ic/accessor-assembler.h
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/baseline/baseline.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/diagnostics/objects-debug.cc
[modify] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/src/builtins/builtins-object-gen.cc
[add] https://crrev.com/c053419e8ca5fb983cb60d6c32b111bdf92d646f/test/mjsunit/baseline/test-baseline-module-helper.mjs

bugdroid via monorail

unread,
Feb 12, 2021, 8:52:24 AM2/12/21
to v8-re...@googlegroups.com

Comment #5 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c5


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5

commit c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Feb 12 13:51:35 2021

[sparkplug] Change Sparkplug to Baseline

Currently we sometimes refer to baseline code or the baseline compiler
by its codename (Sparkplug). The codename is fun, but we should be
consistent and call things by one name or the other. Following the
pattern of Ignition stuff being called "interpreter", we call Sparkplug
"baseline", and leave the codename only in flags and variants.

Bug: v8:11420
Change-Id: I432e5629518be7c7ad38b6acff024c91d4cfd6d3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692186
Commit-Queue: Leszek Swirski <les...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72696}

[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/debug/debug.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/runtime/runtime-interpreter.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/diagnostics/objects-debug.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/test/mjsunit/baseline/cross-realm.js
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/execution/frames-inl.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/test/mjsunit/baseline/test-baseline.js
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/profiler/profiler-listener.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/objects/code-kind.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/deoptimizer/deoptimizer.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/debug/wasm/gdb-server/wasm-module-debug.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/runtime/runtime-test.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/logging/log.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/test/mjsunit/mjsunit.js
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/objects/code-kind.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/builtins/builtins-lazy-gen.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/heap/factory.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/objects/js-function.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/objects/js-function.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/heap/factory.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/deoptimizer/deoptimizer.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/execution/frames.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/execution/frames.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/objects/code.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/diagnostics/perf-jit.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/codegen/compiler.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/objects/code-inl.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/tools/profile.mjs
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/tools/v8heapconst.py
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/baseline/baseline.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/objects/js-function-inl.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/runtime/runtime.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/objects/code.h
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/runtime/runtime-compiler.cc
[modify] https://crrev.com/c913ef3a915aeccfcdbf37edbba0d3f926c0a1f5/src/execution/isolate.cc

bugdroid via monorail

unread,
Feb 15, 2021, 9:23:09 AM2/15/21
to v8-re...@googlegroups.com

Comment #7 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c7


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/3b0a743ae0e8f039f6990a4e094d51d529052b62

commit 3b0a743ae0e8f039f6990a4e094d51d529052b62
Author: Toon Verwaest <verw...@chromium.org>
Date: Mon Feb 15 14:22:38 2021

[sparkplug] Remove unused sparkplug_inline_smi flag

Bug: v8:11420
Change-Id: I61182b0b1b3ee8d1ea55df48577077dbd3a36ec5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695397
Reviewed-by: Leszek Swirski <les...@chromium.org>
Commit-Queue: Toon Verwaest <verw...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72742}

[modify] https://crrev.com/3b0a743ae0e8f039f6990a4e094d51d529052b62/src/flags/flag-definitions.h

bugdroid via monorail

unread,
Feb 15, 2021, 9:35:34 AM2/15/21
to v8-re...@googlegroups.com

Comment #8 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c8


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/053d1e0dce682d941b915b576e5077f3d52ad73e

commit 053d1e0dce682d941b915b576e5077f3d52ad73e
Author: Leszek Swirski <les...@chromium.org>
Date: Mon Feb 15 14:35:04 2021

[frames] Add UnoptimizedFrame

Add a new StackFrame class for unoptimized frames (which are either
interpreted or baseline). BaselineFrame becomes a subclass of this
rather than InterpretedFrame, and the various frame constants helpers
are similarly amended.

Bug: v8:11420, v8:11429
Change-Id: I87e9368aef48ef06a39476bf826f379ce1441528
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692208
Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72743}

[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/debug/debug.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/compiler/backend/instruction.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/runtime/runtime-interpreter.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/frames-inl.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/compiler/osr.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/debug/debug-frames.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/compiler/frame-states.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/test/unittests/compiler/backend/instruction-selector-unittest.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/compiler/verifier.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/s390/frame-constants-s390.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/deoptimizer/deoptimizer.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/runtime/runtime-test.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/riscv64/frame-constants-riscv64.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/baseline/arm64/baseline-compiler-arm64-inl.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/x64/frame-constants-x64.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/deoptimizer/translated-state.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/deoptimizer/deoptimized-frame-info.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/objects/objects.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/mips64/frame-constants-mips64.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/test/unittests/compiler/js-create-lowering-unittest.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/debug/debug-frames.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/deoptimizer/deoptimizer.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/runtime-profiler.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/frames.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/deoptimizer/translated-state.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/test/unittests/compiler/graph-unittest.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/frames.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/heap/mark-compact.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/compiler/backend/code-generator.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/objects/code-inl.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/ia32/frame-constants-ia32.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/runtime/runtime-compiler.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/runtime-profiler.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/frame-constants.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/baseline/x64/baseline-compiler-x64-inl.h
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/compiler/frame-states.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/arm64/frame-constants-arm64.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/arm/frame-constants-arm.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/compiler/backend/instruction-selector.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/mips/frame-constants-mips.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/ppc/frame-constants-ppc.cc
[modify] https://crrev.com/053d1e0dce682d941b915b576e5077f3d52ad73e/src/execution/isolate.cc

bugdroid via monorail

unread,
Feb 15, 2021, 9:47:12 AM2/15/21
to v8-re...@googlegroups.com

Comment #9 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c9


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1e42a05ab65940a346bd61216d7b08942aff877c

commit 1e42a05ab65940a346bd61216d7b08942aff877c
Author: Leszek Swirski <les...@chromium.org>
Date: Mon Feb 15 14:46:26 2021

[sparkplug] Collect feedback for ToNumber/ToNumeric

Add (ToNumber|ToNumeric)_Baseline builtins which get the feedback vector
and context from the stack, perform ToNumber/ToNumeric, and update
feedback. These share C++ code with Builtins::kToNumber, but don't call
it directly, as they need to collect feedback as part of the conversion.


Bug: v8:11420, v8:11429
Change-Id: Idca1281004ec27096cbe9204653fdd72386ab52b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692573

Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>

bugdroid via monorail

unread,
Feb 16, 2021, 7:43:32 AM2/16/21
to v8-re...@googlegroups.com

Comment #10 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c10


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/0067fbb1ac59bb67a40a28181f89617539563d5e

commit 0067fbb1ac59bb67a40a28181f89617539563d5e
Author: Leszek Swirski <les...@chromium.org>
Date: Tue Feb 16 12:43:18 2021

[sparkplug] Rename bytecode tracing functions

Change the interpreter tracing functions to be generic unoptimized code
tracing functions. The type of the code is now inferred from the frame,
rather than passed in.

Also expands the set of gn flags to explicitly enable unoptimized
tracing, with a helper gn flags for enabling it for Ignition and for
baseline (both just set unoptimized tracing to be enabled for now, we
could split this up in the future though), and V8 flags separate tracing
Ignition and tracing baseline.


Bug: v8:11420, v8:11429
Change-Id: I040c2628fe5744dcb38ef8623df3e34f9c86a5b8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692817

Commit-Queue: Leszek Swirski <les...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72767}

[modify] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/src/flags/flag-definitions.h
[rename] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/src/runtime/runtime-trace.cc
[modify] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/src/common/globals.h
[modify] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/BUILD.gn
[modify] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/src/baseline/baseline-compiler.h
[modify] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/src/codegen/code-stub-assembler.cc
[modify] https://crrev.com/0067fbb1ac59bb67a40a28181f89617539563d5e/src/runtime/runtime.h

bugdroid via monorail

unread,
Feb 16, 2021, 10:52:28 AM2/16/21
to v8-re...@googlegroups.com

Comment #11 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c11


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/7c743e37a34bb1c72f8ae7b5ead4d2d5eac47437

commit 7c743e37a34bb1c72f8ae7b5ead4d2d5eac47437
Author: pthier <pth...@chromium.org>
Date: Tue Feb 16 15:51:23 2021

[sparkplug] Fix typo in new bytecode tracing functions.

Bug: v8:11420
Change-Id: I82365b1db0e09fbc04e9ae3b41d9d60c1a9cacd3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2697203
Commit-Queue: Patrick Thier <pth...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Auto-Submit: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72778}

[modify] https://crrev.com/7c743e37a34bb1c72f8ae7b5ead4d2d5eac47437/src/runtime/runtime-trace.cc

bugdroid via monorail

unread,
Feb 17, 2021, 11:02:24 AM2/17/21
to v8-re...@googlegroups.com

Comment #12 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c12


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca

commit d0136a5caa6b9fcabc3108dfc23f6558b33fdfca
Author: Leszek Swirski <les...@chromium.org>
Date: Wed Feb 17 16:01:45 2021

[sparkplug] CompileWithBaseline to Compiler::CompileBaseline

Move the CompileWithBaseline interface to the Compiler class, as
CompileBaseline, which will do the additional work of pre-compiling
to bytecode, ensuring there is a feedback vector, and setting the
code on the function closure.

As a drive-by, fix v8_enable_trace_unoptimized to have a blank default
value, so that v8_enable_trace_ignition/v8_enable_trace_baseline_exec
can set it.


Bug: v8:11420, v8:11429
Change-Id: If715161de71f7d9300f3fdcbb50cc678b1fcdfdf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2697352
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72819}

[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/flags/flag-definitions.h
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/runtime/runtime-test.cc
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/runtime/runtime-internal.cc
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/test/mjsunit/baseline/test-baseline.js
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/baseline/baseline.h
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/baseline/baseline.cc
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/test/mjsunit/baseline/cross-realm.js
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/runtime/runtime-trace.cc
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/BUILD.gn
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/test/mjsunit/baseline/test-baseline-module.mjs
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/test/mjsunit/baseline/test-baseline-module-helper.mjs
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/codegen/compiler.h
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/codegen/compiler.cc
[modify] https://crrev.com/d0136a5caa6b9fcabc3108dfc23f6558b33fdfca/src/runtime/runtime-compiler.cc

bugdroid via monorail

unread,
Feb 17, 2021, 12:18:24 PM2/17/21
to v8-re...@googlegroups.com

Comment #13 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c13


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/c7bad60657da6fdd78960e16649df9504fd9506a

commit c7bad60657da6fdd78960e16649df9504fd9506a
Author: Leszek Swirski <les...@chromium.org>
Date: Wed Feb 17 17:15:39 2021

[sparkplug] Add --sparkplug-filter

Allow filtering what functions compile with Sparkplug.

Bug: v8:11420
Change-Id: Ib70c4405687ec527109f2adbf87b58a51aae9870
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700671
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Ross McIlroy <rmci...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72823}

[modify] https://crrev.com/c7bad60657da6fdd78960e16649df9504fd9506a/src/flags/flag-definitions.h
[modify] https://crrev.com/c7bad60657da6fdd78960e16649df9504fd9506a/src/codegen/compiler.cc

bugdroid via monorail

unread,
Feb 18, 2021, 7:26:19 AM2/18/21
to v8-re...@googlegroups.com

Comment #14 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c14


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/f3ec6d7739d93807e58c406b9ed5b341feec6bee

commit f3ec6d7739d93807e58c406b9ed5b341feec6bee
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Feb 18 12:25:50 2021

[sparkplug] Don't disable W^X on osx+arm64

Bug: v8:11420
Change-Id: I1289e2bb290ab80b761e2cdc3d85dff3621b4d0a
Fixed: v8:11465
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704151
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72841}

[modify] https://crrev.com/f3ec6d7739d93807e58c406b9ed5b341feec6bee/src/flags/flag-definitions.h

bugdroid via monorail

unread,
Feb 19, 2021, 5:22:29 AM2/19/21
to v8-re...@googlegroups.com

Comment #15 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c15


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/70e6298e2b79a9676a13492b1114ad6a3067efe7

commit 70e6298e2b79a9676a13492b1114ad6a3067efe7
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Feb 19 10:21:51 2021

[sparkplug] Fix frames during interrupts on x64

The StackGuard in the sparkplug prologue builtin on x64 was called with
the frame in a weird state; in particular, the baseline code PC wasn't
on the stack. This could lead to oddities like the baseline code getting
collected by a GC during the interrupt.

Now we push the baseline code return address and set up a proper frame
for the interrupt.

Bug: v8:11420
Change-Id: I03b4c2f2d204ad413c5f54f9e8fc28182edf9085
Fixed: chromium:1177219
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704658
Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Toon Verwaest <verw...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72858}

[modify] https://crrev.com/70e6298e2b79a9676a13492b1114ad6a3067efe7/src/builtins/x64/builtins-x64.cc

bugdroid via monorail

unread,
Feb 19, 2021, 6:54:07 AM2/19/21
to v8-re...@googlegroups.com

Comment #16 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c16


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/5583296905f62cf5fb99b49ea3f82840ca4306a9

commit 5583296905f62cf5fb99b49ea3f82840ca4306a9
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Feb 19 11:52:44 2021

[sparkplug] Make --sparkplug readonly on unsupported archs

Bug: v8:11420
Change-Id: I41eda774ba31a25b7f199ffea7f97fca9c44835e
Fixed: chromium:1179650
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704670
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Igor Sheludko <ish...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72861}

[modify] https://crrev.com/5583296905f62cf5fb99b49ea3f82840ca4306a9/src/flags/flag-definitions.h

bugdroid via monorail

unread,
Feb 19, 2021, 7:49:25 AM2/19/21
to v8-re...@googlegroups.com

Comment #17 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c17


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/cd76e3607408a45dc260dec179b04f9368e3c7a1

commit cd76e3607408a45dc260dec179b04f9368e3c7a1
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Feb 19 12:45:44 2021

[sparkplug] Fix frame fill

Change the frame fill to unconditionally subtract already pushed
registers from register count. This ensures that the decision to add a
push loop is dependent on the _remaining_ registers, not the _total_
registers.

Bug: v8:11420
Change-Id: Ide763654e66f0a8c827a00fca1b4a77be2052f76
Fixed: chromium:1179595
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704672

Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Igor Sheludko <ish...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>

bugdroid via monorail

unread,
Feb 19, 2021, 11:38:58 AM2/19/21
to v8-re...@googlegroups.com

Comment #18 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c18


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/457a86fb2ca752c8c0bee76fada76f68cee67ca1

commit 457a86fb2ca752c8c0bee76fada76f68cee67ca1
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Feb 19 16:37:32 2021

[sparkplug] Re-fix frame fill on arm64

We had an off-by-one in the arm64 frame fill code due to double counting
the register already pushed by the prologue.

Bug: v8:11420
Change-Id: I9b4a3bcdc913886f0ba7a316f23f41eed3fc9311
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707168
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Toon Verwaest <verw...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Toon Verwaest <verw...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72872}

[modify] https://crrev.com/457a86fb2ca752c8c0bee76fada76f68cee67ca1/src/baseline/arm64/baseline-compiler-arm64-inl.h

bugdroid via monorail

unread,
Feb 23, 2021, 7:42:04 AM2/23/21
to v8-re...@googlegroups.com

Comment #19 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c19


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/163a241a49baac7f36b1bf381f7fd94a1132c6e0

commit 163a241a49baac7f36b1bf381f7fd94a1132c6e0
Author: Leszek Swirski <les...@chromium.org>
Date: Tue Feb 23 12:41:01 2021

[sparkplug] Sparkplug is the future

Bug: v8:11420
Change-Id: I9f6b60381c08697d753758a9c667e588dd0599bc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704677
Commit-Queue: Leszek Swirski <les...@chromium.org>

Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Toon Verwaest <verw...@chromium.org>

bugdroid via monorail

unread,
Feb 23, 2021, 10:42:25 AM2/23/21
to v8-re...@googlegroups.com

Comment #20 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c20


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/9070b2cb86f1d462f9cd71b756ffdf063442e46a

commit 9070b2cb86f1d462f9cd71b756ffdf063442e46a
Author: Leszek Swirski <les...@chromium.org>
Date: Tue Feb 23 15:42:14 2021

[sparkplug] Clean up CodeKind predicates

Baseline code is, like baseline frames, now considered unoptimized,
sharing this name with interpreted code.

Bug: v8:11420,v8:11429
Change-Id: If1f4a41725dd0d809a4412f5d2f827d19f9628fe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2713102

Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>

bugdroid via monorail

unread,
Feb 23, 2021, 12:00:58 PM2/23/21
to v8-re...@googlegroups.com

Comment #21 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c21


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d4cc38a40cf9180957de1b04c6a7e0c2c13a8558

commit d4cc38a40cf9180957de1b04c6a7e0c2c13a8558
Author: Leszek Swirski <les...@chromium.org>
Date: Tue Feb 23 17:00:23 2021

[sparkplug] Extract optimization marker checks to helper

Bug: v8:11420,v8:11429
Change-Id: Id2680baf5d7db7eee342ca7b3c0cb636cacf1560
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715194
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Victor Gomes <victo...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Victor Gomes <victo...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72966}

[modify] https://crrev.com/d4cc38a40cf9180957de1b04c6a7e0c2c13a8558/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/d4cc38a40cf9180957de1b04c6a7e0c2c13a8558/src/builtins/arm64/builtins-arm64.cc

bugdroid via monorail

unread,
Feb 25, 2021, 8:57:25 AM2/25/21
to v8-re...@googlegroups.com

Comment #23 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c23


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/9a31804bbe6597bfb54b47958fd3839f2da51875

commit 9a31804bbe6597bfb54b47958fd3839f2da51875
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Feb 25 13:57:02 2021

[profiler] Clean up CodeEvent tags

Clean-up and slightly unify the CodeEvent tags:

* Remove INTERPRETED_FUNCTION_TAG. It was only used for interpreter
trampoline copies, which are used for
--interpreted-frames-native-stack. However, even actual bytecode
compilation doesn't use INTERPRETED_FUNCTION_TAG, so we can remove
it for simplicity.

* The tag used by the above is now the same as for the bytecode
creation event, i.e. EVAL_TAG, SCRIPT_TAG, FUNCTION_TAG or
LAZY_COMPILE, depending on whether this was a script, and eval, an
eager or a lazy compile (respectively.

* Baseline was also using INTERPRETED_FUNCTION_TAG, so now it does the
same thing as above.

* Existing code is now logged as FUNCTION_TAG rather than
LAZY_COMPILE, because we lost the laziness information.

* The SCRIPT_TAG is set based on the SharedFunctionInfo flags, not
the compilation flags, so that eager inner functions are labelled as
FUNCTION_TAG rather than SCRIPT_TAG.

Bug: v8:11420,v8:11429
Change-Id: I0286002674255ff4ba8f5d865df372a3e2975b16
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2713104
Reviewed-by: Yang Guo <yan...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73047}

[modify] https://crrev.com/9a31804bbe6597bfb54b47958fd3839f2da51875/test/cctest/test-cpu-profiler.cc
[modify] https://crrev.com/9a31804bbe6597bfb54b47958fd3839f2da51875/test/cctest/test-log.cc
[modify] https://crrev.com/9a31804bbe6597bfb54b47958fd3839f2da51875/src/logging/code-events.h
[modify] https://crrev.com/9a31804bbe6597bfb54b47958fd3839f2da51875/src/profiler/profile-generator.cc
[modify] https://crrev.com/9a31804bbe6597bfb54b47958fd3839f2da51875/src/logging/log.h
[modify] https://crrev.com/9a31804bbe6597bfb54b47958fd3839f2da51875/src/snapshot/code-serializer.cc
[modify] https://crrev.com/9a31804bbe6597bfb54b47958fd3839f2da51875/src/codegen/compiler.cc
[modify] https://crrev.com/9a31804bbe6597bfb54b47958fd3839f2da51875/src/logging/log.cc

bugdroid via monorail

unread,
Mar 1, 2021, 4:38:42 AM3/1/21
to v8-re...@googlegroups.com

Comment #24 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c24


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/0cbb6b7ca4407135b2259f6cd2dca1684f8a14ff

commit 0cbb6b7ca4407135b2259f6cd2dca1684f8a14ff
Author: Igor Sheludko <ish...@chromium.org>
Date: Mon Mar 01 09:34:42 2021

[sparkplug] Remove redundant optimization marker check

Bug: v8:11420,v8:11429
Change-Id: Ic08a1277b08a3de1ad1124dcedaeaf2fbd313c25
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726495
Auto-Submit: Igor Sheludko <ish...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73091}

[modify] https://crrev.com/0cbb6b7ca4407135b2259f6cd2dca1684f8a14ff/src/builtins/arm64/builtins-arm64.cc

bugdroid via monorail

unread,
Mar 2, 2021, 11:39:01 AM3/2/21
to v8-re...@googlegroups.com

Comment #25 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c25


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/8904bceeb03c86507132d738f351770e0721a425

commit 8904bceeb03c86507132d738f351770e0721a425
Author: Toon Verwaest <verw...@chromium.org>
Date: Tue Mar 02 16:36:43 2021

[sparkplug] Adjust interrupt weight by current bytecode size

The interpreter always adjusts the current interrupt budget down by the
current bytecode size as well. This aligns the optimization heuristics.

Bug: v8:11420
Change-Id: I0cc78d004779b393a3d8fb46e44bdd7465fcf4ed
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726496
Auto-Submit: Toon Verwaest <verw...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Commit-Queue: Toon Verwaest <verw...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73130}

[modify] https://crrev.com/8904bceeb03c86507132d738f351770e0721a425/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/8904bceeb03c86507132d738f351770e0721a425/src/interpreter/bytecode-array-iterator.cc
[modify] https://crrev.com/8904bceeb03c86507132d738f351770e0721a425/src/interpreter/bytecode-array-iterator.h

bugdroid via monorail

unread,
Mar 3, 2021, 12:07:39 PM3/3/21
to v8-re...@googlegroups.com

Comment #26 on issue 11420 by bugdroid: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c26


The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/aac0b1988b4b952878478a76d7d104a8b93b998d

commit aac0b1988b4b952878478a76d7d104a8b93b998d
Author: Leszek Swirski <les...@chromium.org>
Date: Wed Mar 03 17:07:13 2021

[v8] Add feature flag for Sparkplug

Bug: v8:11420
Change-Id: I82f312d402ce51367cac0af8145fae47446d8182
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2731378
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#859422}

[modify] https://crrev.com/aac0b1988b4b952878478a76d7d104a8b93b998d/gin/v8_initializer.cc
[modify] https://crrev.com/aac0b1988b4b952878478a76d7d104a8b93b998d/gin/gin_features.cc
[modify] https://crrev.com/aac0b1988b4b952878478a76d7d104a8b93b998d/gin/gin_features.h

Git Watcher via monorail

unread,
Mar 5, 2021, 10:01:12 PM3/5/21
to v8-re...@googlegroups.com
Updates:
Labels: merge-merged-4430 merge-merged-90

Comment #29 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c29


The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/05e139b7722ba2411a0b8e399c6ce2a6d92197c5

commit 05e139b7722ba2411a0b8e399c6ce2a6d92197c5
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Mar 05 11:28:50 2021


[v8] Add feature flag for Sparkplug

(cherry picked from commit aac0b1988b4b952878478a76d7d104a8b93b998d)


Bug: v8:11420
Change-Id: I82f312d402ce51367cac0af8145fae47446d8182
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2731378
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#859422}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2731995
Commit-Queue: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/4430@{#152}
Cr-Branched-From: e5ce7dc4f7518237b3d9bb93cccca35d25216cbe-refs/heads/master@{#857950}

[modify] https://crrev.com/05e139b7722ba2411a0b8e399c6ce2a6d92197c5/gin/gin_features.cc
[modify] https://crrev.com/05e139b7722ba2411a0b8e399c6ce2a6d92197c5/gin/gin_features.h
[modify] https://crrev.com/05e139b7722ba2411a0b8e399c6ce2a6d92197c5/gin/v8_initializer.cc

Git Watcher via monorail

unread,
Mar 8, 2021, 12:32:08 PM3/8/21
to v8-re...@googlegroups.com

Comment #30 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c30


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/2f3ebfa9a4a154dea0164df5b35240dd0d1b4395

commit 2f3ebfa9a4a154dea0164df5b35240dd0d1b4395
Author: Leszek Swirski <les...@chromium.org>
Date: Mon Mar 08 15:13:14 2021

[sparkplug] Use sorted vector for handlers

Rather than doing a set lookup for each bytecode offset during
iteration, rely on the fact that bytecode offsets are monotonically
increasing, and store the handler offsets in a sorted array with a
"next offset" cursor that the iteration can increment when a handler
is found.

Bug: v8:11420
Change-Id: I50e40043540d37e6c6ecb3e39a9a92c28b65e3d1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742621
Auto-Submit: Leszek Swirski <les...@chromium.org>
Commit-Queue: Toon Verwaest <verw...@chromium.org>
Reviewed-by: Toon Verwaest <verw...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73272}

[modify] https://crrev.com/2f3ebfa9a4a154dea0164df5b35240dd0d1b4395/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/2f3ebfa9a4a154dea0164df5b35240dd0d1b4395/src/baseline/baseline-compiler.h

Git Watcher via monorail

unread,
Mar 9, 2021, 8:44:09 AM3/9/21
to v8-re...@googlegroups.com

Comment #31 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c31


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/2966c8967a731d4c4e01e253c2e48b3906ea5844

commit 2966c8967a731d4c4e01e253c2e48b3906ea5844
Author: pthier <pth...@chromium.org>
Date: Tue Mar 09 11:18:52 2021

Reland "[sparkplug] Change bytecode offset mapping and introduce iterator."

This is a reland of a8b61ef521c51e0d1d84ed744e893273ed5d516c

The main reason for the revert was not related to this CL and was fixed
with https://crrev.com/c/2739646
In addition debug output in d8.test.verifySourcePositions was removed
due to TSAN complaints.

Original change's description:
> [sparkplug] Change bytecode offset mapping and introduce iterator.
>
> Previously, we recorded pairs of (bytecode offset, sparkplug pc) to
> create a mapping of bytecode offset <-> sparkplug pc.
> These pairs were only recorded after builtin/runtime calls.
> In preparation for deoptimizing to Sparkplug, we need a more precise
> mapping.
> With this CL, we record positions for every bytecode. Instead of storing
> a pair of (bytecode offset, sparkplug pc), we store only the pc,
> calculating the bytecode offset from the index in the mapping table.
> For easier use an iterator to access the mapping is introduced.
>
> Drive-by: Reduce sampling interval in cpu-profiler cctest to get rid of
flaky failures.

>
> Bug: v8:11420, v8:11429
> Change-Id: I36a9171f43a574eb67880cbca6cf9ff7ab291e60
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720189
> Reviewed-by: Victor Gomes <victo...@chromium.org>
> Reviewed-by: Camillo Bruni <cbr...@chromium.org>
> Auto-Submit: Patrick Thier <pth...@chromium.org>
> Commit-Queue: Patrick Thier <pth...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73186}
>
> Change-Id: I9ab4cb60da002ef130f8a21ad10ba69e2826a7b6

Change-Id: I9ab4cb60da002ef130f8a21ad10ba69e2826a7b6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2745335
Reviewed-by: Victor Gomes <victo...@chromium.org>
Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73293}

[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/BUILD.gn
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/DEPS
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/baseline/baseline-compiler.h
[add] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/baseline/bytecode-offset-iterator.cc
[add] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/baseline/bytecode-offset-iterator.h
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/d8/d8.cc
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/d8/d8.h
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/execution/frames.cc
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/objects/code-inl.h
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/objects/code.h
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/src/profiler/profiler-listener.cc
[modify] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/test/cctest/test-cpu-profiler.cc
[add] https://crrev.com/2966c8967a731d4c4e01e253c2e48b3906ea5844/test/mjsunit/baseline/verify-bytecode-offsets.js

Git Watcher via monorail

unread,
Mar 10, 2021, 12:50:12 PM3/10/21
to v8-re...@googlegroups.com

Comment #32 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c32


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/668513d8abe24d0d1127afbb81a1aa6fbd7ad0a1

commit 668513d8abe24d0d1127afbb81a1aa6fbd7ad0a1
Author: Leszek Swirski <les...@chromium.org>
Date: Wed Mar 10 14:43:36 2021

[sparkplug] Add fuzzer support for CompileBaseline

Robustify %CompileBaseline against fuzzing, and allowlist it in the
fuzzer.

Bug: v8:11420
Change-Id: I44947014c8c9362d80ea98636dbbaa5d07d6a177
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739643
Auto-Submit: Leszek Swirski <les...@chromium.org>
Commit-Queue: Michael Achenbach <mache...@chromium.org>
Reviewed-by: Michael Achenbach <mache...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73325}

[modify] https://crrev.com/668513d8abe24d0d1127afbb81a1aa6fbd7ad0a1/src/runtime/runtime-test.cc
[modify] https://crrev.com/668513d8abe24d0d1127afbb81a1aa6fbd7ad0a1/src/runtime/runtime.cc
[modify] https://crrev.com/668513d8abe24d0d1127afbb81a1aa6fbd7ad0a1/tools/clusterfuzz/js_fuzzer/exceptions.js
[modify] https://crrev.com/668513d8abe24d0d1127afbb81a1aa6fbd7ad0a1/tools/clusterfuzz/js_fuzzer/mutators/function_call_mutator.js
[modify] https://crrev.com/668513d8abe24d0d1127afbb81a1aa6fbd7ad0a1/tools/clusterfuzz/js_fuzzer/test/test_mutate_function_calls.js
[add] https://crrev.com/668513d8abe24d0d1127afbb81a1aa6fbd7ad0a1/tools/clusterfuzz/js_fuzzer/test_data/mutate_function_call_baseline_expected.js

Git Watcher via monorail

unread,
Mar 11, 2021, 4:19:06 AM3/11/21
to v8-re...@googlegroups.com

Comment #33 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c33


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/f977ace251a8395260ddc1d9efb479354e846bea

commit f977ace251a8395260ddc1d9efb479354e846bea
Author: Patrick Thier <pth...@chromium.org>
Date: Thu Mar 11 08:16:05 2021

Non-handlified BytecodeOffsetIterator

For use at locations where we know, that no GC can happen.
This avoids unnecessary handlifying of objects.

Bug: v8:11420
Change-Id: Ic549c56c4366060a6da3a3772dbd0aae23151eab
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2735394
Reviewed-by: Leszek Swirski <les...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73334}

[modify] https://crrev.com/f977ace251a8395260ddc1d9efb479354e846bea/src/baseline/bytecode-offset-iterator.cc
[modify] https://crrev.com/f977ace251a8395260ddc1d9efb479354e846bea/src/baseline/bytecode-offset-iterator.h
[modify] https://crrev.com/f977ace251a8395260ddc1d9efb479354e846bea/src/objects/code-inl.h

Git Watcher via monorail

unread,
Mar 18, 2021, 1:11:11 PM3/18/21
to v8-re...@googlegroups.com

Comment #34 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c34


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d7ed4f97c2019585d45c95fc736e7d7ba1b1272e

commit d7ed4f97c2019585d45c95fc736e7d7ba1b1272e
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 18 16:11:37 2021

[sparkplug] Inline TypeOf checks

In the TestTypeOf handler, use the statically known value of the type-of
literal flag to emit the specific type-of check for that type, rather
than going to the general type-of builtin. These checks are very simple,
so we can get away with hand-writing them in the baseline compiler.

Bug: v8:11420
Change-Id: Id9f51042916abaea62f929a2f95cf2c64dc32ee3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2772613
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Reviewed-by: Patrick Thier <pth...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73520}

[modify] https://crrev.com/d7ed4f97c2019585d45c95fc736e7d7ba1b1272e/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/d7ed4f97c2019585d45c95fc736e7d7ba1b1272e/test/mjsunit/baseline/test-baseline.js

Git Watcher via monorail

unread,
Mar 19, 2021, 5:53:07 AM3/19/21
to v8-re...@googlegroups.com

Comment #35 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c35


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/791e085d2f1c9169b71f665264910dd3a231047a

commit 791e085d2f1c9169b71f665264910dd3a231047a
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 18 15:34:40 2021

[sparkplug] Add always_sparkplug variant

Add an always_sparkplug testing variant, and fix a couple of issues it
found.

Bug: v8:11420
Change-Id: I7d87a41e3413f40271a0140118531f075d633b23
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773047
Reviewed-by: Patrick Thier <pth...@chromium.org>
Reviewed-by: Michael Achenbach <mache...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73529}

[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/src/codegen/compiler.cc
[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/test/mjsunit/baseline/cross-realm.js
[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/test/mjsunit/baseline/test-baseline-module.mjs
[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/test/mjsunit/baseline/test-baseline.js
[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/test/mjsunit/mjsunit.js
[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/test/mjsunit/shared-function-tier-up-turbo.js
[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/tools/clusterfuzz/js_fuzzer/resources/differential_fuzz_v8.js
[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/tools/clusterfuzz/v8_foozzie_harness_adjust.js
[modify] https://crrev.com/791e085d2f1c9169b71f665264910dd3a231047a/tools/testrunner/local/variants.py

Git Watcher via monorail

unread,
Mar 19, 2021, 12:11:06 PM3/19/21
to v8-re...@googlegroups.com

Comment #36 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c36


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/5edeaf2fe82fb0e1782ecd8f4dd6b593f8e0ff98

commit 5edeaf2fe82fb0e1782ecd8f4dd6b593f8e0ff98
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Mar 19 15:24:33 2021

[sparkplug] Fix no-PC Smi writes

StoreTaggedSignedField wasn't clearing the lower bits of a
field when writing a 32-bit Smi

Bug: v8:11420
Change-Id: I543a35001ca8a78490de2d09539b72f52749b198
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2775571
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Igor Sheludko <ish...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73546}

[modify] https://crrev.com/5edeaf2fe82fb0e1782ecd8f4dd6b593f8e0ff98/src/codegen/x64/macro-assembler-x64.cc

Git Watcher via monorail

unread,
Mar 23, 2021, 6:53:16 AM3/23/21
to v8-re...@googlegroups.com

Comment #37 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c37


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/be3c012679f26aa87dd6174717925cc6d99e184b

commit be3c012679f26aa87dd6174717925cc6d99e184b
Author: Leszek Swirski <les...@chromium.org>
Date: Tue Mar 23 09:39:08 2021

[sparkplug] Include calls in stack guard

Calculate the maximum call size in the bytecode pre-visit, and pass that
(along with the bytecode's frame size) to the prologue to be included in
the stack check. This avoids doing a stack check before each call, and
mirrors a similar optimisation in TurboFan.

Also, use StackGuardWithGap instead of StackGuard, to make sure that
stack overflows in the prologue actually trigger stack overflows in the
runtime.

Bug: v8:11420
Fixed: chromium:1189890
Change-Id: I795c197c20f85611318ab09c7bca78ce40b64924
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2778278
Auto-Submit: Leszek Swirski <les...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73600}

[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/baseline/arm/baseline-compiler-arm-inl.h
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/baseline/arm64/baseline-compiler-arm64-inl.h
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/baseline/baseline-compiler.h
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/baseline/ia32/baseline-compiler-ia32-inl.h
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/baseline/x64/baseline-compiler-x64-inl.h
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/codegen/interface-descriptors.cc
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/src/codegen/interface-descriptors.h
[modify] https://crrev.com/be3c012679f26aa87dd6174717925cc6d99e184b/test/mjsunit/mjsunit.status

Git Watcher via monorail

unread,
Mar 23, 2021, 7:01:07 AM3/23/21
to v8-re...@googlegroups.com

Comment #38 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c38


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/07d7fd32d2d36520c4e697a122b6c2158c1ede7a

commit 07d7fd32d2d36520c4e697a122b6c2158c1ede7a
Author: Patrick Thier <pth...@chromium.org>
Date: Fri Mar 19 12:49:46 2021

[sparkplug] Fix GetBytecodeOffsetForBaselinePC() in prologue

When GetBytecodeOffsetForBaselinePC() is called with a PC that is inside
the baseline prologue, correctly return kFunctionEntryOffset now.

Bug: v8:11420
Change-Id: I39cb96a04e7d92d0ba5dfcbcaeebd23144c9df05
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773050
Auto-Submit: Patrick Thier <pth...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>

Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>

Git Watcher via monorail

unread,
Mar 23, 2021, 9:59:07 AM3/23/21
to v8-re...@googlegroups.com

Comment #39 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c39


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b7092d62ffd060d8c51844cd681a77f1340d199a

commit b7092d62ffd060d8c51844cd681a77f1340d199a
Author: Milad Fa <mfar...@redhat.com>
Date: Tue Mar 23 13:06:12 2021

PPC/S390: Fix "unused variable" compilation error

`registers` is only used on platforms which support sparkplug.

Bug: v8:11420
Change-Id: Ia08fb1b76194db222703a64618fc2dcb00f58c96
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2780013
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Commit-Queue: Milad Fa <mfar...@redhat.com>
Cr-Commit-Position: refs/heads/master@{#73605}

[modify] https://crrev.com/b7092d62ffd060d8c51844cd681a77f1340d199a/src/codegen/interface-descriptors.cc

Git Watcher via monorail

unread,
Mar 23, 2021, 12:12:06 PM3/23/21
to v8-re...@googlegroups.com

Comment #40 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c40


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f

commit bdcd7d79d337182eff98d9c3d63b53da7e56ae2f
Author: Patrick Thier <pth...@chromium.org>
Date: Tue Mar 23 15:24:52 2021

[sparkplug][deoptimizer] Deoptimize to baseline.

If we have baseline code, deoptimize to baseline instead of the
interpreter. The process is similar to deopting to the interpreter.
We just use different builtins
(BaselineEnterAtBytecode/BaselineEnterAtNextBytecode) instead of
InterpreterEnterBytecodeDispatch/InterpreterEnterBytecodeAdvance, that
patch an interpreter frame to a baseline frame and continue execution in
baseline code (based on the deopt type, at the current or next
bytecode).

Bug: v8:11420
Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591
Commit-Queue: Patrick Thier <pth...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Reviewed-by: Georg Neis <ne...@chromium.org>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73609}

[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/baseline/arm/baseline-assembler-arm-inl.h
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/baseline/arm64/baseline-assembler-arm64-inl.h
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/baseline/baseline-assembler.h
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/baseline/ia32/baseline-assembler-ia32-inl.h
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/builtins/builtins-definitions.h
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/codegen/external-reference.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/codegen/external-reference.h
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/deoptimizer/deoptimizer-cfi-builtins.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/deoptimizer/deoptimizer.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/execution/frames.cc
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/objects/code-inl.h
[modify] https://crrev.com/bdcd7d79d337182eff98d9c3d63b53da7e56ae2f/src/objects/code.h

Git Watcher via monorail

unread,
Mar 24, 2021, 4:15:07 AM3/24/21
to v8-re...@googlegroups.com

Comment #41 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c41


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/6fc861e43cf83546bc4f9d7323807c09978a561b

commit 6fc861e43cf83546bc4f9d7323807c09978a561b
Author: Sathya Gunasekaran <gsa...@chromium.org>
Date: Wed Mar 24 08:13:34 2021

Revert "[sparkplug][deoptimizer] Deoptimize to baseline."

This reverts commit bdcd7d79d337182eff98d9c3d63b53da7e56ae2f.

Reason for revert:
https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux%20Future/7996/blamelist

Original change's description:

> [sparkplug][deoptimizer] Deoptimize to baseline.
>
> If we have baseline code, deoptimize to baseline instead of the
> interpreter. The process is similar to deopting to the interpreter.
> We just use different builtins
> (BaselineEnterAtBytecode/BaselineEnterAtNextBytecode) instead of
> InterpreterEnterBytecodeDispatch/InterpreterEnterBytecodeAdvance, that
> patch an interpreter frame to a baseline frame and continue execution in
> baseline code (based on the deopt type, at the current or next
> bytecode).
>
> Bug: v8:11420
> Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591
> Commit-Queue: Patrick Thier <pth...@chromium.org>
> Reviewed-by: Leszek Swirski <les...@chromium.org>
> Reviewed-by: Georg Neis <ne...@chromium.org>
> Reviewed-by: Jakob Gruber <jgr...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73609}

Bug: v8:11420
Change-Id: Ie8b936df343b9194c0a6e50e0c44b67c0d9a012d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783030
Auto-Submit: Sathya Gunasekaran <gsa...@chromium.org>

Commit-Queue: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#73621}

[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/baseline/arm/baseline-assembler-arm-inl.h
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/baseline/arm64/baseline-assembler-arm64-inl.h
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/baseline/baseline-assembler.h
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/baseline/ia32/baseline-assembler-ia32-inl.h
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/builtins/builtins-definitions.h
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/codegen/external-reference.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/codegen/external-reference.h
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/deoptimizer/deoptimizer-cfi-builtins.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/deoptimizer/deoptimizer.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/execution/frames.cc
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/objects/code-inl.h
[modify] https://crrev.com/6fc861e43cf83546bc4f9d7323807c09978a561b/src/objects/code.h

Git Watcher via monorail

unread,
Mar 24, 2021, 12:22:08 PM3/24/21
to v8-re...@googlegroups.com

Comment #42 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c42


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd

commit e3ccb5387770a0dcef6a45d0ddb35314ba2094cd
Author: Patrick Thier <pth...@chromium.org>
Date: Wed Mar 24 15:24:39 2021

Reland "[sparkplug][deoptimizer] Deoptimize to baseline."

This is a reland of bdcd7d79d337182eff98d9c3d63b53da7e56ae2f

Handle lazy deopts when the current bytecode is JumpLoop.
Instead of advancing to the next bytecode, re-execute the JumpLoop.

TBR=jgr...@chromium.org, ne...@chromium.org


Original change's description:
> [sparkplug][deoptimizer] Deoptimize to baseline.
>
> If we have baseline code, deoptimize to baseline instead of the
> interpreter. The process is similar to deopting to the interpreter.
> We just use different builtins
> (BaselineEnterAtBytecode/BaselineEnterAtNextBytecode) instead of
> InterpreterEnterBytecodeDispatch/InterpreterEnterBytecodeAdvance, that
> patch an interpreter frame to a baseline frame and continue execution in
> baseline code (based on the deopt type, at the current or next
> bytecode).
>
> Bug: v8:11420
> Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591
> Commit-Queue: Patrick Thier <pth...@chromium.org>
> Reviewed-by: Leszek Swirski <les...@chromium.org>
> Reviewed-by: Georg Neis <ne...@chromium.org>
> Reviewed-by: Jakob Gruber <jgr...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73609}

Bug: v8:11420
Change-Id: Ib8cac028121188ddc23ff29377760ed684eb7392
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783035
Reviewed-by: Patrick Thier <pth...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73636}

[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/baseline/arm/baseline-assembler-arm-inl.h
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/baseline/arm64/baseline-assembler-arm64-inl.h
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/baseline/baseline-assembler.h
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/baseline/ia32/baseline-assembler-ia32-inl.h
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/builtins/builtins-definitions.h
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/codegen/external-reference.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/codegen/external-reference.h
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/deoptimizer/deoptimizer-cfi-builtins.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/deoptimizer/deoptimizer.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/execution/frames.cc
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/objects/code-inl.h
[modify] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/src/objects/code.h
[add] https://crrev.com/e3ccb5387770a0dcef6a45d0ddb35314ba2094cd/test/mjsunit/regress/regress-crbug-1191886.js

Git Watcher via monorail

unread,
Mar 24, 2021, 1:45:07 PM3/24/21
to v8-re...@googlegroups.com

Comment #43 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c43


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/ebc9f39f69681b6e7af58880d5559b6002c78d5c

commit ebc9f39f69681b6e7af58880d5559b6002c78d5c
Author: Deepti Gandluri <gde...@chromium.org>
Date: Wed Mar 24 17:38:19 2021

Revert "Reland "[sparkplug][deoptimizer] Deoptimize to baseline.""

This reverts commit e3ccb5387770a0dcef6a45d0ddb35314ba2094cd.

Reason for revert: Speculative revert for ARM 64 CFI fails - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20CFI/5174?

Original change's description:
Bug: v8:11420
Change-Id: Icd797b4979a114a2a627e12c8bb7d2215df03182

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2785074
Reviewed-by: Deepti Gandluri <gde...@chromium.org>
Reviewed-by: Bill Budge <bbu...@chromium.org>
Commit-Queue: Deepti Gandluri <gde...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73643}

[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/baseline/arm/baseline-assembler-arm-inl.h
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/baseline/arm64/baseline-assembler-arm64-inl.h
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/baseline/baseline-assembler.h
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/baseline/ia32/baseline-assembler-ia32-inl.h
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/builtins/builtins-definitions.h
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/codegen/external-reference.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/codegen/external-reference.h
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/deoptimizer/deoptimizer-cfi-builtins.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/deoptimizer/deoptimizer.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/execution/frames.cc
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/objects/code-inl.h
[modify] https://crrev.com/ebc9f39f69681b6e7af58880d5559b6002c78d5c/src/objects/code.h
[delete] https://crrev.com/30bf932f877c8a0de63cb9d63320c616933064e3/test/mjsunit/regress/regress-crbug-1191886.js

Git Watcher via monorail

unread,
Mar 25, 2021, 5:49:07 AM3/25/21
to v8-re...@googlegroups.com

Comment #44 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c44


The following revision refers to this bug:

Author: Patrick Thier <pth...@chromium.org>
Date: Wed Mar 24 15:24:39 2021

Reland "Reland "[sparkplug][deoptimizer] Deoptimize to baseline.""

This is a reland of e3ccb5387770a0dcef6a45d0ddb35314ba2094cd

No changes for the reland.
This CL was speculatively reverted, but was not the cause of the problem.

TBR=jgr...@chromium.org
Change-Id: I7fbbb73a4fdaeab8b294862ee6ae952928c57994
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784695

Commit-Queue: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Auto-Submit: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73656}

[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/baseline/arm/baseline-assembler-arm-inl.h
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/baseline/arm64/baseline-assembler-arm64-inl.h
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/baseline/baseline-assembler.h
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/baseline/ia32/baseline-assembler-ia32-inl.h
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/builtins/builtins-definitions.h
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/codegen/external-reference.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/codegen/external-reference.h
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/deoptimizer/deoptimizer-cfi-builtins.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/deoptimizer/deoptimizer.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/execution/frames.cc
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/objects/code-inl.h
[modify] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/src/objects/code.h
[add] https://crrev.com/e438ae2df347bf566c0faa6c43c33675008cd106/test/mjsunit/regress/regress-crbug-1191886.js

Git Watcher via monorail

unread,
Mar 25, 2021, 10:14:34 AM3/25/21
to v8-re...@googlegroups.com

Comment #45 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c45


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/bb3794c711289c7c30acce94e60c80e095a18e19

commit bb3794c711289c7c30acce94e60c80e095a18e19
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 25 13:23:20 2021

[profiler] Fix reachability in eager logging test

Use a local context and compilation cache clearing to trigger code
deletion in ClearUnusedWithEagerLogging, rather than relying on bytecode
flushing. This allows the test to succeed with non-flushable
native-context-independent code, like Sparkplug baseline code.

Bug: v8:11420
Change-Id: Id6e3626b6245b4308d95aa3995a8fb2ee53684f7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786851
Reviewed-by: Yang Guo <yan...@chromium.org>
Commit-Queue: Yang Guo <yan...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73663}

[modify] https://crrev.com/bb3794c711289c7c30acce94e60c80e095a18e19/test/cctest/test-cpu-profiler.cc

Git Watcher via monorail

unread,
Mar 25, 2021, 10:19:08 AM3/25/21
to v8-re...@googlegroups.com

Comment #46 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c46


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/8f5f5c682806def5b7266284bcafad74eaf61f7a

commit 8f5f5c682806def5b7266284bcafad74eaf61f7a
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 25 13:16:36 2021

[sparkplug] Add missing SaveAccumulatorScopes

Some baseline implementations of non-accumulator-writing bytecodes
would call builtins without saving the accumulator. This clobbers the
accumulator. This was particularly observable with IncBlockCounter.

Bug: v8:11420
Change-Id: I1e8a06526ea6ed018da0d6213775cce130c72aee
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786847
Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Victor Gomes <victo...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73664}

[modify] https://crrev.com/8f5f5c682806def5b7266284bcafad74eaf61f7a/src/baseline/baseline-compiler.cc

Git Watcher via monorail

unread,
Mar 25, 2021, 10:51:06 AM3/25/21
to v8-re...@googlegroups.com

Comment #47 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c47


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/af08fdbfb32cb2c80485bbfefd265f6e316b4f97

commit af08fdbfb32cb2c80485bbfefd265f6e316b4f97
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 25 13:18:32 2021

[sparkplug] Flush baseline code in context serializer

JSFunctions can store a pointer to baseline code, which would trigger
that code to be serialized in the context serializer. Since we don't
support baseline code serialization, we have to flush these baseline
code pointers.

This is similar to the existing optimized code flushing.

Bug: v8:11420
Change-Id: Idabd0caea24aed484d5cf39ad0dad8c2c8180b91
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786849
Reviewed-by: Patrick Thier <pth...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73665}

[modify] https://crrev.com/af08fdbfb32cb2c80485bbfefd265f6e316b4f97/src/snapshot/context-serializer.cc

Git Watcher via monorail

unread,
Mar 25, 2021, 11:10:10 AM3/25/21
to v8-re...@googlegroups.com

Comment #48 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c48


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/9e939c0976a55c0b434b174996737b28a61ebb8c

commit 9e939c0976a55c0b434b174996737b28a61ebb8c
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 25 13:17:53 2021

[sparkplug] Pass flags to CreateShallowArrayLiteral

CreateShallowArrayLiteral can fail and bail out to the runtime. We
therefore have to pass the literal flags to the builtin, so that the
runtime e.g. initialises the AllocationSite correctly.

Bug: v8:11420
Change-Id: I57dfbbc202aa2c3b0e7ac01f65ee84f6e3763180
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786848
Reviewed-by: Maya Lekova <msle...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Commit-Queue: Maya Lekova <msle...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73666}

[modify] https://crrev.com/9e939c0976a55c0b434b174996737b28a61ebb8c/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/9e939c0976a55c0b434b174996737b28a61ebb8c/src/builtins/constructor.tq
[modify] https://crrev.com/9e939c0976a55c0b434b174996737b28a61ebb8c/src/compiler/js-generic-lowering.cc

Git Watcher via monorail

unread,
Mar 25, 2021, 11:30:10 AM3/25/21
to v8-re...@googlegroups.com

Comment #49 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c49


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/a1bb0eb197857baf2ba7f4894a6fc68ca7cc4c85

commit a1bb0eb197857baf2ba7f4894a6fc68ca7cc4c85
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 25 13:19:33 2021

[sparkplug] Allow baseline code in the profile listener

Fix a broken DCHECK when logging existing baseline code.

Bug: v8:11420
Change-Id: I66cf1b1b806aef74bcc9c1a0061bec1834b719f6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786850
Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73667}

[modify] https://crrev.com/a1bb0eb197857baf2ba7f4894a6fc68ca7cc4c85/src/profiler/profiler-listener.cc

Git Watcher via monorail

unread,
Mar 25, 2021, 11:38:11 AM3/25/21
to v8-re...@googlegroups.com

Comment #50 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c50


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/dba445c0079813343100631506ba1adeddda6e47

commit dba445c0079813343100631506ba1adeddda6e47
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 25 13:24:58 2021

[sparkplug] Fix --always-sparkplug in tests

Disable or support --always-sparkplug in various tests that until now
were always expecting only bytecode.

Bug: v8:11420
Change-Id: Ida45041739fb55851aa493c51f1ed796aa1c0606
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786852

Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>

Git Watcher via monorail

unread,
Mar 25, 2021, 2:06:07 PM3/25/21
to v8-re...@googlegroups.com

Comment #51 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c51


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/52393b900b5ce70d74a66163d1036da06c1b4a66

commit 52393b900b5ce70d74a66163d1036da06c1b4a66
Author: Patrick Thier <pth...@chromium.org>
Date: Thu Mar 25 17:19:45 2021

[sparkplug] OSR Ignition -> Sparkplug

Add support for OSR to baseline code.
We compile baseline and perform OSR immediately when the bytecode budget
interrupt hits.

Drive-by: Clean-up deoptimizer special handling of JumpLoop by using
the newly introduced GetBaselinePCForNextExecutedBytecode instead of
GetBaselineEndPCForBytecodeOffset.

Bug: v8:11420
Change-Id: Ifbea264d4a83a127dd2a11e28626bf2a5e8aca59
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784687
Commit-Queue: Patrick Thier <pth...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73677}

[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/builtins/builtins-definitions.h
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/codegen/code-factory.cc
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/codegen/code-factory.h
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/codegen/external-reference.cc
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/codegen/external-reference.h
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/interpreter/interpreter-generator.cc
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/objects/code-inl.h
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/objects/code.h
[modify] https://crrev.com/52393b900b5ce70d74a66163d1036da06c1b4a66/src/runtime/runtime-internal.cc

Git Watcher via monorail

unread,
Mar 25, 2021, 2:37:14 PM3/25/21
to v8-re...@googlegroups.com

Comment #52 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c52


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b02dd5b36b44fbb15678198c80ecea5a616e50ff

commit b02dd5b36b44fbb15678198c80ecea5a616e50ff
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Mar 25 13:16:16 2021

[sparkplug] Allow sparkplug compilation to gracefully OOM

This also makes OOMing on --always-sparkplug not crash

Bug: v8:11420
Change-Id: Ibaa5eb8a268a7d47ec30210f5cf5af51e514f039
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786846
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73679}

[modify] https://crrev.com/b02dd5b36b44fbb15678198c80ecea5a616e50ff/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/b02dd5b36b44fbb15678198c80ecea5a616e50ff/src/baseline/baseline-compiler.h
[modify] https://crrev.com/b02dd5b36b44fbb15678198c80ecea5a616e50ff/src/baseline/baseline.cc
[modify] https://crrev.com/b02dd5b36b44fbb15678198c80ecea5a616e50ff/src/baseline/baseline.h
[modify] https://crrev.com/b02dd5b36b44fbb15678198c80ecea5a616e50ff/src/codegen/compiler.cc

Git Watcher via monorail

unread,
Mar 25, 2021, 3:27:09 PM3/25/21
to v8-re...@googlegroups.com

Comment #53 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c53


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262

commit b9c521d0ea4a2fccb6ac1dd29872ff27484b2262
Author: Deepti Gandluri <gde...@chromium.org>
Date: Thu Mar 25 19:25:47 2021

Revert "[sparkplug] OSR Ignition -> Sparkplug"

This reverts commit 52393b900b5ce70d74a66163d1036da06c1b4a66.

Reason for revert: Reverting for TSAN fails - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20no-concurrent-marking/3061

Original change's description:

> [sparkplug] OSR Ignition -> Sparkplug
>
> Add support for OSR to baseline code.
> We compile baseline and perform OSR immediately when the bytecode budget
> interrupt hits.
>
> Drive-by: Clean-up deoptimizer special handling of JumpLoop by using
> the newly introduced GetBaselinePCForNextExecutedBytecode instead of
> GetBaselineEndPCForBytecodeOffset.
>
> Bug: v8:11420
> Change-Id: Ifbea264d4a83a127dd2a11e28626bf2a5e8aca59
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784687
> Commit-Queue: Patrick Thier <pth...@chromium.org>
> Reviewed-by: Leszek Swirski <les...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73677}

Bug: v8:11420
Change-Id: I335640216dbbf9a854fc276f3df95bf5a1f9956a

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787192
Reviewed-by: Deepti Gandluri <gde...@chromium.org>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Commit-Queue: Deepti Gandluri <gde...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73680}

[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/builtins/builtins-definitions.h
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/codegen/code-factory.cc
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/codegen/code-factory.h
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/codegen/external-reference.cc
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/codegen/external-reference.h
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/interpreter/interpreter-generator.cc
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/objects/code-inl.h
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/objects/code.h
[modify] https://crrev.com/b9c521d0ea4a2fccb6ac1dd29872ff27484b2262/src/runtime/runtime-internal.cc

Git Watcher via monorail

unread,
Mar 29, 2021, 5:25:06 AM3/29/21
to v8-re...@googlegroups.com

Comment #54 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c54


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0

commit 6a2ee16d360828905f6121f1b83c9cfe8ff6dff0
Author: Patrick Thier <pth...@chromium.org>
Date: Thu Mar 25 16:24:45 2021

[sparkplug] Improve CFI handling in baseline compiler

With the addition of deoptimizing to baseline, we mark the begin of
every bytecode as a valid jump target in baseline code (Required for
CFI on arm64).
Therefore we can omit marking excpetion handler positions and binds
at the beginning of the bytecode as valid jump targets now.

Bug: v8:11420
Change-Id: Id173dacb5534b680c5c3796c78e2a2c2288e5e0a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786841
Auto-Submit: Patrick Thier <pth...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73702}

[modify] https://crrev.com/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0/src/baseline/arm/baseline-assembler-arm-inl.h
[modify] https://crrev.com/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0/src/baseline/arm64/baseline-assembler-arm64-inl.h
[modify] https://crrev.com/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0/src/baseline/baseline-assembler.h
[modify] https://crrev.com/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0/src/baseline/baseline-compiler.h
[modify] https://crrev.com/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0/src/baseline/ia32/baseline-assembler-ia32-inl.h
[modify] https://crrev.com/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/6a2ee16d360828905f6121f1b83c9cfe8ff6dff0/src/logging/counters.h

Git Watcher via monorail

unread,
Mar 30, 2021, 8:04:11 AM3/30/21
to v8-re...@googlegroups.com

Comment #55 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c55


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/00afef3c7f78e4643f29721dc84286689b575e98

commit 00afef3c7f78e4643f29721dc84286689b575e98
Author: Leszek Swirski <les...@chromium.org>
Date: Tue Mar 30 11:18:36 2021

[sparkplug/ia32] Fix argc clobbering

Fix the InstallBaselineCode path in the InterpreterEntryTrampoline to
restore the clobbered eax (i.e. argc) register.

Bug: v8:11420, chromium:1192459
Change-Id: I97ce5739cf22a08fbb46dbf372ab6276bb802440
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2791567
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Victor Gomes <victo...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Victor Gomes <victo...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73721}

[modify] https://crrev.com/00afef3c7f78e4643f29721dc84286689b575e98/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/00afef3c7f78e4643f29721dc84286689b575e98/test/mjsunit/baseline/cross-realm.js

Git Watcher via monorail

unread,
Mar 31, 2021, 8:42:10 AM3/31/21
to v8-re...@googlegroups.com

Comment #56 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c56


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/4baf07a7693f495cca3d01c5aaca745cb35da8e0

commit 4baf07a7693f495cca3d01c5aaca745cb35da8e0
Author: Leszek Swirski <les...@chromium.org>
Date: Wed Mar 31 11:55:44 2021

[sparkplug] Add scratch register for arm64

We didn't have enough scratch registers for a suspend generator
whose field write offsets exceeded the immediate value range.

Bug: v8:11420, chromium:1193493
Change-Id: Iee90db4ef1ec00924bcc4791a8e6ffb9138bb388
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794424
Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73739}

[modify] https://crrev.com/4baf07a7693f495cca3d01c5aaca745cb35da8e0/src/baseline/arm64/baseline-assembler-arm64-inl.h
[modify] https://crrev.com/4baf07a7693f495cca3d01c5aaca745cb35da8e0/test/mjsunit/baseline/test-baseline.js

Git Watcher via monorail

unread,
Apr 6, 2021, 8:08:06 AM4/6/21
to v8-re...@googlegroups.com

Comment #57 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c57


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/064ca18ca284f7115e62501ac643ef8e6c614f76

commit 064ca18ca284f7115e62501ac643ef8e6c614f76
Author: Patrick Thier <pth...@chromium.org>
Date: Tue Apr 06 09:54:58 2021

Reland "[sparkplug] OSR Ignition -> Sparkplug"

This is a reland of b9c521d0ea4a2fccb6ac1dd29872ff27484b2262.

Fixes crashes by calling kInstallBaselineCode from BaselineEntry if
needed, i.e. when there is no feedback vector (required a bit of
register rejiggling).
This can happen with cross-realm calls. The OSR arming is stored as
part of the BytecodeArray and therefore shared across realms.


Original change's description:
> [sparkplug] OSR Ignition -> Sparkplug
>
> Add support for OSR to baseline code.
> We compile baseline and perform OSR immediately when the bytecode budget
> interrupt hits.
>
> Drive-by: Clean-up deoptimizer special handling of JumpLoop by using
> the newly introduced GetBaselinePCForNextExecutedBytecode instead of
> GetBaselineEndPCForBytecodeOffset.
>
> Bug: v8:11420
> Change-Id: Ifbea264d4a83a127dd2a11e28626bf2a5e8aca59
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784687
> Commit-Queue: Patrick Thier <pth...@chromium.org>
> Reviewed-by: Leszek Swirski <les...@chromium.org>

> Cr-Commit-Position: refs/heads/master@{#73677}

Bug: v8:11420
Change-Id: I67325450514ed5a1170b730b1dd59fa6acc6e1d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2800112
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73803}

[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/builtins/builtins-definitions.h
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/codegen/code-factory.cc
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/codegen/code-factory.h
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/codegen/external-reference.cc
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/codegen/external-reference.h
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/interpreter/interpreter-assembler.h
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/interpreter/interpreter-generator.cc
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/objects/code-inl.h
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/objects/code.h
[modify] https://crrev.com/064ca18ca284f7115e62501ac643ef8e6c614f76/src/runtime/runtime-internal.cc

Git Watcher via monorail

unread,
Apr 6, 2021, 11:09:07 AM4/6/21
to v8-re...@googlegroups.com

Comment #58 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c58


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1b9d14a84e2f080ce4583c075ed5f33ecf39b6a6

commit 1b9d14a84e2f080ce4583c075ed5f33ecf39b6a6
Author: Milad Fa <mfar...@redhat.com>
Date: Tue Apr 06 14:08:54 2021

PPC/s390: Reland "[sparkplug] OSR Ignition -> Sparkplug"

Port 064ca18ca284f7115e62501ac643ef8e6c614f76

Original Commit Message:


This is a reland of b9c521d0ea4a2fccb6ac1dd29872ff27484b2262.

Fixes crashes by calling kInstallBaselineCode from BaselineEntry if
needed, i.e. when there is no feedback vector (required a bit of
register rejiggling).
This can happen with cross-realm calls. The OSR arming is stored as
part of the BytecodeArray and therefore shared across realms.

Original change's description:
> [sparkplug] OSR Ignition -> Sparkplug
>
> Add support for OSR to baseline code.
> We compile baseline and perform OSR immediately when the bytecode budget
> interrupt hits.
>
> Drive-by: Clean-up deoptimizer special handling of JumpLoop by using
> the newly introduced GetBaselinePCForNextExecutedBytecode instead of
> GetBaselineEndPCForBytecodeOffset.
>
> Bug: v8:11420
> Change-Id: Ifbea264d4a83a127dd2a11e28626bf2a5e8aca59
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784687
> Commit-Queue: Patrick Thier <pth...@chromium.org>
> Reviewed-by: Leszek Swirski <les...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73677}

Git Watcher via monorail

unread,
Apr 8, 2021, 9:45:17 PM4/8/21
to v8-re...@googlegroups.com

Comment #59 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c59


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/ee1b74a14e883317d35d055ae3918004b187a78a

commit ee1b74a14e883317d35d055ae3918004b187a78a
Author: Liu Yu <li...@loongson.cn>
Date: Thu Apr 08 09:33:27 2021

[mips][sparkplug] OSR Ignition -> Sparkplug

Port: 064ca18ca284f7115e62501ac643ef8e6c614f76

Bug: v8:11420
Change-Id: I4a8051b10fa2c1eab316f8a8d7928a5e134b59e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814119
Auto-Submit: Liu yu <li...@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojia...@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojia...@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#73872}

[modify] https://crrev.com/ee1b74a14e883317d35d055ae3918004b187a78a/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/ee1b74a14e883317d35d055ae3918004b187a78a/src/builtins/mips64/builtins-mips64.cc

Git Watcher via monorail

unread,
Apr 13, 2021, 7:04:07 AM4/13/21
to v8-re...@googlegroups.com
Updates:
Labels: merge-merged-9.1

Comment #60 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c60


The following revision refers to this bug:

Author: Liu Yu <li...@loongson.cn>
Date: Thu Apr 08 09:33:27 2021

Merged:[mips][sparkplug] OSR Ignition -> Sparkplug


Port: 064ca18ca284f7115e62501ac643ef8e6c614f76

Bug: v8:11420

No-Try: true
No-Presubmit: true
No-Tree-Checks: true
(cherry picked from commit ee1b74a14e883317d35d055ae3918004b187a78a)

Change-Id: I38ef39a9959cd833b21517ca5706fcd258715de7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2821248
Commit-Queue: Zhao Jiazhong <zhaojia...@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojia...@loongson.cn>
Cr-Commit-Position: refs/branch-heads/9.1@{#12}
Cr-Branched-From: 0e4ac64a8cf298b14034a22f9fe7b085d2cb238d-refs/heads/9.1.269@{#1}
Cr-Branched-From: f565e72d5ba88daae35a59d0f978643e2343e912-refs/heads/master@{#73847}

[modify] https://crrev.com/7daf8550ef13474144927db40e39b34991e36e37/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/7daf8550ef13474144927db40e39b34991e36e37/src/builtins/mips64/builtins-mips64.cc

Git Watcher via monorail

unread,
Apr 13, 2021, 10:52:08 AM4/13/21
to v8-re...@googlegroups.com

Comment #61 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c61


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/5f49bbdf8452953eff9e5c83c1a02dad0f606f51

commit 5f49bbdf8452953eff9e5c83c1a02dad0f606f51
Author: Patrick Thier <pth...@chromium.org>
Date: Tue Apr 13 12:52:09 2021

[test][sparkplug] Test Ignition -> Sparkplug OSR

- Add %BaselineOsr to manually trigger OSR to Baseline.
- Add flags to %GetOptimizationStatus to check if the topmost frame is
an Interpreter/Baseline frame.
- Add mjsunit test.

Bug: v8:11420
Change-Id: Id80421ad97ee719a67ef299cc700da9c44f23bae
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814567
Auto-Submit: Patrick Thier <pth...@chromium.org>
Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73937}

[modify] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/BUILD.gn
[modify] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/src/DEPS
[add] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/src/baseline/baseline-osr-inl.h
[modify] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/src/runtime/runtime-internal.cc
[modify] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/src/runtime/runtime-test.cc
[modify] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/src/runtime/runtime.cc
[modify] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/src/runtime/runtime.h
[add] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/test/mjsunit/baseline/test-osr.js
[modify] https://crrev.com/5f49bbdf8452953eff9e5c83c1a02dad0f606f51/test/mjsunit/mjsunit.js

fermi… via monorail

unread,
Apr 13, 2021, 3:18:53 PM4/13/21
to v8-re...@googlegroups.com

Comment #62 on issue 11420 by fermi...@gmail.com: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c62

Porque no puedo disponer de mis cuentas

metro mobile

El mar., 13 de abril de 2021 7:52 a. m., Git Watcher via monorail <
monorail+v2.233...@chromium.org> escribió:

Git Watcher via monorail

unread,
Apr 14, 2021, 4:47:08 AM4/14/21
to v8-re...@googlegroups.com

Comment #63 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c63


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/f6d54b7c105efd63be0e8e6f7444b343c34a52be

commit f6d54b7c105efd63be0e8e6f7444b343c34a52be
Author: Toon Verwaest <verw...@chromium.org>
Date: Wed Apr 14 07:53:59 2021

[sparkplug] Reenable write_protect_code_memory for sparkplug

By using RWX memory to write we've likely managed to avoid the largest
part of the cost on Intel CPUs.

Bug: v8:11420
Change-Id: Ibf571abc136fc97b3e6429fe42ebf4cfc423b458
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2824443
Commit-Queue: Toon Verwaest <verw...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Toon Verwaest <verw...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73947}

[modify] https://crrev.com/f6d54b7c105efd63be0e8e6f7444b343c34a52be/src/flags/flag-definitions.h

Git Watcher via monorail

unread,
Apr 16, 2021, 9:21:27 AM4/16/21
to v8-re...@googlegroups.com

Comment #64 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c64


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e

commit ae0752df1b84d8c53cc7b2af71013a9e678a9c6e
Author: Leszek Swirski <les...@chromium.org>
Date: Thu Apr 15 13:21:39 2021

[codegen] Add static interface descriptors

Add a new CRTP StaticCallInterfaceDescriptor class, which provides
static constexpr getters for a descriptor's registers, parameter counts,
and so on. Each CallInterfaceDescriptor subclass is changed to extend
StaticCallInterfaceDescriptor, with StaticCallInterfaceDescriptor itself
extending CallInterfaceDescriptor to still provide a dynamic lookup
where needed.

StaticCallInterfaceDescriptor provides a couple of customisation points,
where it reads its CRTP derived descriptor's static fields and
functions, with default fallbacks where appropriate. With these
customisation points, the definition of CallInterfaceDescriptor
subclasses is simplified to:

a) Providing parameter names (as before)
b) Providing parameter types (as before)
c) Optionally setting flags (like kNoContext or kAllowVarArgs) as
static booleans on the class.
d) Optionally providing a `registers()` method that returns a
std::array<Register, N> of registers that may be used for
parameters (if not provided, this defaults to the implementation
specific default register set).

Parameter registers (and register count) are automagically set based on
the number of parameters and number of given registers, with extra magic
to ignore no_reg registers (to reduce ia32 special casing). The
CallInterfaceDescriptorData is initialized based on these static
functions, rather than manual per-descriptor initializers.

This allows us to skip loading descriptors dynamically for CallBuiltin
in Sparkplug, and instead lets us use a bit of template magic to
statically set up arguments for the calls. Any other users of statically
known descriptors will also benefit, thanks to C++ picking the static
methods over the dynamic methods on the base class when available.

Because we can remove various virtual functions and trigger heavier
inlining of constantly known values, binary size slightly decreases with
this change.

Note that torque-generated descriptors are changed to use the same magic,
rather than having Torque-specific magic, for consistency.

Bug: v8:11420
Change-Id: Icc5e238b6313a08734feb564204a13226b450c22
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814518
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Commit-Queue: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73996}

[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/BUILD.gn
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/baseline/arm/baseline-compiler-arm-inl.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/baseline/arm64/baseline-compiler-arm64-inl.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/baseline/baseline-assembler-inl.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/baseline/baseline-compiler.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/baseline/ia32/baseline-compiler-ia32-inl.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/baseline/x64/baseline-compiler-x64-inl.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/builtins/builtins-array-gen.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/builtins/builtins-internal-gen.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/builtins/x64/builtins-x64.cc
[add] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/arm/interface-descriptors-arm-inl.h
[delete] https://crrev.com/abe4858b0a0fd5dbde4a69d16ba2fa062d599a6d/src/codegen/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/arm/macro-assembler-arm.cc
[add] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/arm64/interface-descriptors-arm64-inl.h
[delete] https://crrev.com/abe4858b0a0fd5dbde4a69d16ba2fa062d599a6d/src/codegen/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/arm64/macro-assembler-arm64.cc
[add] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/ia32/interface-descriptors-ia32-inl.h
[delete] https://crrev.com/abe4858b0a0fd5dbde4a69d16ba2fa062d599a6d/src/codegen/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/ia32/macro-assembler-ia32.cc
[add] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/interface-descriptors-inl.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/interface-descriptors.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/interface-descriptors.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/register-arch.h
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/turbo-assembler.h
[add] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/x64/interface-descriptors-x64-inl.h
[delete] https://crrev.com/abe4858b0a0fd5dbde4a69d16ba2fa062d599a6d/src/codegen/x64/interface-descriptors-x64.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/compiler/backend/instruction-selector.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/compiler/code-assembler.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/compiler/effect-control-linearizer.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/compiler/js-generic-lowering.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/compiler/js-typed-lowering.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/compiler/memory-lowering.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/ic/accessor-assembler.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/snapshot/embedded/embedded-data.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/torque/implementation-visitor.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/test/cctest/test-code-stub-assembler.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/test/unittests/codegen/code-stub-assembler-unittest.cc
[modify] https://crrev.com/ae0752df1b84d8c53cc7b2af71013a9e678a9c6e/test/unittests/compiler/int64-lowering-unittest.cc

Git Watcher via monorail

unread,
Apr 16, 2021, 9:50:09 AM4/16/21
to v8-re...@googlegroups.com

Comment #65 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c65


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/5dea60d60bc2d2588f2dee258e4fd68aab384474

commit 5dea60d60bc2d2588f2dee258e4fd68aab384474
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Apr 16 13:47:49 2021

Revert "[codegen] Add static interface descriptors"

This reverts commit ae0752df1b84d8c53cc7b2af71013a9e678a9c6e.

Reason for revert: Predictably, constexpr issues on non-clang compilers.

Original change's description:
Bug: v8:11420
Change-Id: Ie5469c9253fc140590ac30b72db6eb1d93f86806

No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Commit-Queue: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#74000}

[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/BUILD.gn
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/baseline/arm/baseline-compiler-arm-inl.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/baseline/arm64/baseline-compiler-arm64-inl.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/baseline/baseline-assembler-inl.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/baseline/baseline-compiler.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/baseline/ia32/baseline-compiler-ia32-inl.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/baseline/x64/baseline-compiler-x64-inl.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/builtins/builtins-array-gen.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/builtins/builtins-internal-gen.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/builtins/x64/builtins-x64.cc
[delete] https://crrev.com/6124a534b2de3f640a67fb36ee6ae2fdc4535542/src/codegen/arm/interface-descriptors-arm-inl.h
[add] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/arm/macro-assembler-arm.cc
[delete] https://crrev.com/6124a534b2de3f640a67fb36ee6ae2fdc4535542/src/codegen/arm64/interface-descriptors-arm64-inl.h
[add] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/arm64/macro-assembler-arm64.cc
[delete] https://crrev.com/6124a534b2de3f640a67fb36ee6ae2fdc4535542/src/codegen/ia32/interface-descriptors-ia32-inl.h
[add] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/ia32/macro-assembler-ia32.cc
[delete] https://crrev.com/6124a534b2de3f640a67fb36ee6ae2fdc4535542/src/codegen/interface-descriptors-inl.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/interface-descriptors.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/interface-descriptors.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/register-arch.h
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/turbo-assembler.h
[delete] https://crrev.com/6124a534b2de3f640a67fb36ee6ae2fdc4535542/src/codegen/x64/interface-descriptors-x64-inl.h
[add] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/x64/interface-descriptors-x64.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/compiler/backend/instruction-selector.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/compiler/code-assembler.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/compiler/effect-control-linearizer.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/compiler/js-generic-lowering.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/compiler/js-typed-lowering.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/compiler/memory-lowering.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/ic/accessor-assembler.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/snapshot/embedded/embedded-data.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/torque/implementation-visitor.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/test/cctest/test-code-stub-assembler.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/test/unittests/codegen/code-stub-assembler-unittest.cc
[modify] https://crrev.com/5dea60d60bc2d2588f2dee258e4fd68aab384474/test/unittests/compiler/int64-lowering-unittest.cc

Git Watcher via monorail

unread,
Apr 16, 2021, 11:44:20 AM4/16/21
to v8-re...@googlegroups.com

Comment #66 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c66


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/2871e05cc323c5fcaa0bf5a817d9c39a53d40239

commit 2871e05cc323c5fcaa0bf5a817d9c39a53d40239
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Apr 16 14:52:06 2021

Reland "[codegen] Add static interface descriptors"

This is a reland of ae0752df1b84d8c53cc7b2af71013a9e678a9c6e

Reland fixes:

* Remove UNREACHABLE() from constexpr switch, since we don't have a
CONSTEXPR_UNREACHABLE() (it's ok, the switch is exhaustive for the
enum anyway).
* Fix IsRegisterArray trait to use public inheritance and size_t for
std::array size.
TBR=nicoha...@chromium.org,clem...@chromium.org,ish...@chromium.org,clem...@chromium.org

Bug: v8:11420
Change-Id: Icd1f6cdb3c178e74460044b1e9623139929ceba8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2831872
Reviewed-by: Leszek Swirski <les...@chromium.org>

Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74010}

[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/BUILD.gn
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/baseline/arm/baseline-compiler-arm-inl.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/baseline/arm64/baseline-compiler-arm64-inl.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/baseline/baseline-assembler-inl.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/baseline/baseline-compiler.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/baseline/ia32/baseline-compiler-ia32-inl.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/baseline/x64/baseline-compiler-x64-inl.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/builtins/builtins-array-gen.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/builtins/builtins-internal-gen.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/builtins/x64/builtins-x64.cc
[add] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/arm/interface-descriptors-arm-inl.h
[delete] https://crrev.com/f4573682ed1eaaf66418be0c5862a2ceecf15b7e/src/codegen/arm/interface-descriptors-arm.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/arm/macro-assembler-arm.cc
[add] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/arm64/interface-descriptors-arm64-inl.h
[delete] https://crrev.com/f4573682ed1eaaf66418be0c5862a2ceecf15b7e/src/codegen/arm64/interface-descriptors-arm64.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/arm64/macro-assembler-arm64.cc
[add] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/ia32/interface-descriptors-ia32-inl.h
[delete] https://crrev.com/f4573682ed1eaaf66418be0c5862a2ceecf15b7e/src/codegen/ia32/interface-descriptors-ia32.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/ia32/macro-assembler-ia32.cc
[add] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/interface-descriptors-inl.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/interface-descriptors.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/interface-descriptors.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/register-arch.h
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/turbo-assembler.h
[add] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/x64/interface-descriptors-x64-inl.h
[delete] https://crrev.com/f4573682ed1eaaf66418be0c5862a2ceecf15b7e/src/codegen/x64/interface-descriptors-x64.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/compiler/backend/instruction-selector.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/compiler/code-assembler.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/compiler/effect-control-linearizer.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/compiler/js-generic-lowering.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/compiler/js-heap-broker.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/compiler/js-typed-lowering.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/compiler/memory-lowering.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/ic/accessor-assembler.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/interpreter/interpreter-assembler.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/snapshot/embedded/embedded-data.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/torque/implementation-visitor.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/test/cctest/test-code-stub-assembler.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/test/unittests/codegen/code-stub-assembler-unittest.cc
[modify] https://crrev.com/2871e05cc323c5fcaa0bf5a817d9c39a53d40239/test/unittests/compiler/int64-lowering-unittest.cc

Git Watcher via monorail

unread,
Apr 19, 2021, 8:59:09 AM4/19/21
to v8-re...@googlegroups.com

Comment #67 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c67


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/ea177a6b4de190413a75e3774850635a3ebd2472

commit ea177a6b4de190413a75e3774850635a3ebd2472
Author: Milad Fa <mfar...@redhat.com>
Date: Fri Apr 16 18:51:32 2021

PPC/s390: Reland "[codegen] Add static interface descriptors"

Port 2871e05cc323c5fcaa0bf5a817d9c39a53d40239

Original Commit Message:
R=les...@chromium.org, jora...@ca.ibm.com, jun...@redhat.com, mida...@redhat.com
BUG=
LOG=N

Change-Id: Id854bb901df72787ed225fc8790c3f626121ab3a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2830897
Reviewed-by: Junliang Yan <jun...@redhat.com>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Commit-Queue: Milad Fa <mfar...@redhat.com>
Cr-Commit-Position: refs/heads/master@{#74034}

[modify] https://crrev.com/ea177a6b4de190413a75e3774850635a3ebd2472/BUILD.gn
[modify] https://crrev.com/ea177a6b4de190413a75e3774850635a3ebd2472/src/builtins/ppc/builtins-ppc.cc
[modify] https://crrev.com/ea177a6b4de190413a75e3774850635a3ebd2472/src/builtins/s390/builtins-s390.cc
[modify] https://crrev.com/ea177a6b4de190413a75e3774850635a3ebd2472/src/codegen/interface-descriptors-inl.h
[add] https://crrev.com/ea177a6b4de190413a75e3774850635a3ebd2472/src/codegen/ppc/interface-descriptors-ppc-inl.h
[delete] https://crrev.com/798fbcb0a3e5a292fb775c37c19d9fe73bbac17c/src/codegen/ppc/interface-descriptors-ppc.cc
[modify] https://crrev.com/ea177a6b4de190413a75e3774850635a3ebd2472/src/codegen/ppc/macro-assembler-ppc.cc
[add] https://crrev.com/ea177a6b4de190413a75e3774850635a3ebd2472/src/codegen/s390/interface-descriptors-s390-inl.h
[delete] https://crrev.com/798fbcb0a3e5a292fb775c37c19d9fe73bbac17c/src/codegen/s390/interface-descriptors-s390.cc
[modify] https://crrev.com/ea177a6b4de190413a75e3774850635a3ebd2472/src/codegen/s390/macro-assembler-s390.cc

Git Watcher via monorail

unread,
Apr 19, 2021, 10:34:09 AM4/19/21
to v8-re...@googlegroups.com

Comment #68 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c68


The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/6c44b483171e9b85a0bbb7d3ead634d45d164dc0

commit 6c44b483171e9b85a0bbb7d3ead634d45d164dc0
Author: Leszek Swirski <les...@chromium.org>
Date: Mon Apr 19 14:33:13 2021

[v8] Enable Sparkplug field trial

In preparation for enabling Sparkplug on Beta, enable it
as a field trial.

Bug: 1176196, v8:11420
Change-Id: I71b8268b94917a150fbbb701371a1772fb3415b4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2835787
Commit-Queue: Leszek Swirski <les...@chromium.org>
Commit-Queue: Marja Hölttä <ma...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Marja Hölttä <ma...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#873799}

[modify] https://crrev.com/6c44b483171e9b85a0bbb7d3ead634d45d164dc0/testing/variations/fieldtrial_testing_config.json

Git Watcher via monorail

unread,
Apr 20, 2021, 3:26:07 AM4/20/21
to v8-re...@googlegroups.com

Comment #69 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c69


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b477f366290506e527158e6cb337b5ef5c1f7b31

commit b477f366290506e527158e6cb337b5ef5c1f7b31
Author: Camillo Bruni <cbr...@chromium.org>
Date: Mon Apr 19 09:22:57 2021

[assembler] Add build flag for --code-comments

- Add v8_code_comments to allow runtime-enabled code comments with
--code-comments
- v8_code_comments is enable by default in debug mode
- Make MacroAssembler::RecordComment helper inlineable to remove
call and check overheads when v8_code_comments = false
- Make FLAG_code_comments readonly if v8_code_comments = false and
benefit from dead-code elimination

This saves roughly 5% CompileBaselineVisit time in sparkplug
on a 5MiB JS file.

Bug: v8:11420
Change-Id: I1174ab37b4bbe1ff8880416c1f6a6e28377a962c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2824428
Reviewed-by: Bill Budge <bbu...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74055}

[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/BUILD.gn
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/baseline/arm/baseline-assembler-arm-inl.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/baseline/baseline-assembler-inl.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/baseline/baseline-assembler.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/baseline/ia32/baseline-assembler-ia32-inl.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/baseline/riscv64/baseline-assembler-riscv64-inl.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/arm/macro-assembler-arm.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/arm64/macro-assembler-arm64.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/assembler.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/assembler.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/code-stub-assembler.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/ia32/macro-assembler-ia32.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/mips/macro-assembler-mips.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/mips64/macro-assembler-mips64.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/ppc/macro-assembler-ppc.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/riscv64/macro-assembler-riscv64.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/s390/macro-assembler-s390.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/turbo-assembler.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/turbo-assembler.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/arm/code-generator-arm.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/arm64/code-generator-arm64.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/ia32/code-generator-ia32.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/mips/code-generator-mips.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/mips64/code-generator-mips64.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/ppc/code-generator-ppc.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/riscv64/code-generator-riscv64.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/s390/code-generator-s390.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/compiler/backend/x64/code-generator-x64.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/flags/flag-definitions.h
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/b477f366290506e527158e6cb337b5ef5c1f7b31/test/cctest/compiler/test-code-assembler.cc

Git Watcher via monorail

unread,
Apr 20, 2021, 9:49:07 AM4/20/21
to v8-re...@googlegroups.com

Comment #70 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c70


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/90c7297faae456c46c314397fb88c5745f208bc7

commit 90c7297faae456c46c314397fb88c5745f208bc7
Author: Liu Yu <li...@loongson.cn>
Date: Tue Apr 20 06:52:46 2021

[mips][codegen] Add static interface descriptors

Port: 2871e05cc323c5fcaa0bf5a817d9c39a53d40239

Bug: v8:11420
Change-Id: Id4e060ba95d7eb19c0a0a3f5eb224be5eb46fa8e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839017
Reviewed-by: Zhao Jiazhong <zhaojia...@loongson.cn>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Commit-Queue: Zhao Jiazhong <zhaojia...@loongson.cn>
Auto-Submit: Liu yu <li...@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#74068}

[modify] https://crrev.com/90c7297faae456c46c314397fb88c5745f208bc7/BUILD.gn
[modify] https://crrev.com/90c7297faae456c46c314397fb88c5745f208bc7/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/90c7297faae456c46c314397fb88c5745f208bc7/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/90c7297faae456c46c314397fb88c5745f208bc7/src/codegen/interface-descriptors-inl.h
[add] https://crrev.com/90c7297faae456c46c314397fb88c5745f208bc7/src/codegen/mips/interface-descriptors-mips-inl.h
[delete] https://crrev.com/d84fc42900d2ed0bf6fe119e87b17171c3be6ceb/src/codegen/mips/interface-descriptors-mips.cc
[modify] https://crrev.com/90c7297faae456c46c314397fb88c5745f208bc7/src/codegen/mips/macro-assembler-mips.cc
[add] https://crrev.com/90c7297faae456c46c314397fb88c5745f208bc7/src/codegen/mips64/interface-descriptors-mips64-inl.h
[delete] https://crrev.com/d84fc42900d2ed0bf6fe119e87b17171c3be6ceb/src/codegen/mips64/interface-descriptors-mips64.cc
[modify] https://crrev.com/90c7297faae456c46c314397fb88c5745f208bc7/src/codegen/mips64/macro-assembler-mips64.cc

Git Watcher via monorail

unread,
Apr 21, 2021, 5:49:07 AM4/21/21
to v8-re...@googlegroups.com

Comment #71 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c71


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/8003bbbee6de96dfd98cb4b27c4448e4081c89d7

commit 8003bbbee6de96dfd98cb4b27c4448e4081c89d7
Author: Camillo Bruni <cbr...@chromium.org>
Date: Wed Apr 21 08:54:10 2021

[sparkplug] Preallocate instruction buffer

We have roughly a 7x (5x on ia32) ratio between bytecode and sparkplug
code. Using this number to preallocate the buffer for the emitted code
we can avoid a few copies for larger functions.

Drive-by-fix: Make sure EnsureSpace is marked V8_INLINE

Bug: v8:11420
Change-Id: I6ec48717d2e030c6118c59f5cdc286c952ec2843
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835732
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74085}

[modify] https://crrev.com/8003bbbee6de96dfd98cb4b27c4448e4081c89d7/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/8003bbbee6de96dfd98cb4b27c4448e4081c89d7/src/codegen/arm/assembler-arm-inl.h
[modify] https://crrev.com/8003bbbee6de96dfd98cb4b27c4448e4081c89d7/src/codegen/arm/assembler-arm.h
[modify] https://crrev.com/8003bbbee6de96dfd98cb4b27c4448e4081c89d7/src/codegen/arm64/assembler-arm64-inl.h
[modify] https://crrev.com/8003bbbee6de96dfd98cb4b27c4448e4081c89d7/src/codegen/arm64/assembler-arm64.h
[modify] https://crrev.com/8003bbbee6de96dfd98cb4b27c4448e4081c89d7/src/codegen/ia32/assembler-ia32.h
[modify] https://crrev.com/8003bbbee6de96dfd98cb4b27c4448e4081c89d7/src/codegen/mips/assembler-mips.h
[modify] https://crrev.com/8003bbbee6de96dfd98cb4b27c4448e4081c89d7/src/codegen/x64/assembler-x64.h

Git Watcher via monorail

unread,
Apr 21, 2021, 7:43:07 AM4/21/21
to v8-re...@googlegroups.com

Comment #72 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c72


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/1479492942bea4a7d417b6eca962e7741b0a6888

commit 1479492942bea4a7d417b6eca962e7741b0a6888
Author: Leszek Swirski <les...@chromium.org>
Date: Wed Apr 21 08:37:41 2021

[arm] Use SmallVector for pending constant pool

Since there usually aren't many pending 32-bit constants, we can avoid
the cost of malloc/free for most compiles by using a base::SmallVector
instead of std::vector.

I picked a value of 32 entries as the SmallVector's inline size, based
on compiling three.js and jquery with Sparkplug, and printing the size
of the constant pool when emitted. 93% of emitted constant pools had
<=32 entries.

Bug: v8:11420
Change-Id: I7d62da74c60feae08f8a4b16b1e7f93ea69d2c95
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2840447
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74092}

[modify] https://crrev.com/1479492942bea4a7d417b6eca962e7741b0a6888/src/codegen/arm/assembler-arm.cc
[modify] https://crrev.com/1479492942bea4a7d417b6eca962e7741b0a6888/src/codegen/arm/assembler-arm.h

Git Watcher via monorail

unread,
Apr 21, 2021, 7:44:10 AM4/21/21
to v8-re...@googlegroups.com

Comment #73 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c73


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/2a19c77596a9573b7dab1f7be44eb726f78d7427

commit 2a19c77596a9573b7dab1f7be44eb726f78d7427
Author: Leszek Swirski <les...@chromium.org>
Date: Wed Apr 21 09:27:11 2021

[sparkplug] Reserve size for bytecode offset table

Based on some test compiles (of three.js and jquery) we can get a decent
estimate of expected bytecode offset table size for a given bytecode
size. Reserve this expected size to avoid resize overhead.

Bug: v8:11420
Change-Id: I8288b01fa796e765a20b11219687fa3d23272416
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843354
Reviewed-by: Patrick Thier <pth...@chromium.org>
Commit-Queue: Leszek Swirski <les...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74093}

[modify] https://crrev.com/2a19c77596a9573b7dab1f7be44eb726f78d7427/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/2a19c77596a9573b7dab1f7be44eb726f78d7427/src/baseline/baseline-compiler.h

Git Watcher via monorail

unread,
Apr 21, 2021, 9:55:12 AM4/21/21
to v8-re...@googlegroups.com

Comment #74 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c74


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b0f10ce86906a9a913e4b5d24605b8147a5e3702

commit b0f10ce86906a9a913e4b5d24605b8147a5e3702
Author: Leszek Swirski <les...@chromium.org>
Date: Wed Apr 21 13:04:41 2021

[sparkplug/arm] Use Move32BitImmediate directly

For handles and external refs, use Move32BitImmediate directly rather
than mov -- mov will first try more compact encodings which will almost
certainly fail for embedded pointers, so it's not worth trying to use it
in baseline compilation where the compiler speed matters.

Bug: v8:11420
Change-Id: Ic0ed9f95d28302ae9737567aa863dc93666239e1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843814

Commit-Queue: Leszek Swirski <les...@chromium.org>
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74103}

[modify] https://crrev.com/b0f10ce86906a9a913e4b5d24605b8147a5e3702/src/baseline/arm/baseline-assembler-arm-inl.h

Git Watcher via monorail

unread,
Apr 21, 2021, 9:05:07 PM4/21/21
to v8-re...@googlegroups.com

Comment #75 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c75


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b30fa8a77e4716c8278e8d4e38359da1548e8b00

commit b30fa8a77e4716c8278e8d4e38359da1548e8b00
Author: Lu Yahan <ya...@iscas.ac.cn>
Date: Wed Apr 21 08:38:32 2021

[riscv64][codegen] Add static interface descriptors


Port 2871e05cc323c5fcaa0bf5a817d9c39a53d40239

Bug: v8:11420
Change-Id: Iaf7a4bc64cecdfc11decefd19c7e741a90003c6d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2834632
Reviewed-by: Leszek Swirski <les...@chromium.org>
Reviewed-by: Brice Dobry <brice...@futurewei.com>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Commit-Queue: Yahan Lu <ya...@iscas.ac.cn>
Cr-Commit-Position: refs/heads/master@{#74113}

[modify] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/BUILD.gn
[modify] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/src/baseline/riscv64/baseline-compiler-riscv64-inl.h
[modify] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/src/builtins/riscv64/builtins-riscv64.cc
[modify] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/src/codegen/interface-descriptors-inl.h
[add] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/src/codegen/riscv64/interface-descriptors-riscv64-inl.h
[delete] https://crrev.com/0aacfb2a6ecbeda1d1d97ca113afd8253a1b9670/src/codegen/riscv64/interface-descriptors-riscv64.cc
[modify] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/src/codegen/riscv64/macro-assembler-riscv64.cc
[modify] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/src/compiler/backend/riscv64/instruction-selector-riscv64.cc
[modify] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/test/cctest/cctest.status
[modify] https://crrev.com/b30fa8a77e4716c8278e8d4e38359da1548e8b00/test/mjsunit/mjsunit.status

Git Watcher via monorail

unread,
Apr 23, 2021, 7:26:06 AM4/23/21
to v8-re...@googlegroups.com

Comment #76 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c76


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/df4dae77650ba7962a1040bc60114d9a907562d9

commit df4dae77650ba7962a1040bc60114d9a907562d9
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Apr 23 10:36:19 2021

[arm] Make the constant pool check deadline smarter

Rather than having periodic constant pool checks that almost always fail
(because the constant pool deadline isn't close enough, or even because
there's no constant pool to emit at all), set a single deadline on the
first constant pool insertion which expires just before the maximum
distance to the constant pool. Constant pool checks around unconditional
jumps happen irrespective of this deadline.

In particular, this is made possible by fixing the incorrect assumption
that the constant pool can be emitted out of order. The new assumption
(that the emission is in-order) is validated with a CHECK.

Bug: v8:11420
Change-Id: I061dd0b8c3476ba95ee1acfb3b485d8ba2adda91
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2844665
Commit-Queue: Leszek Swirski <les...@chromium.org>
Reviewed-by: Ross McIlroy <rmci...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74141}

[modify] https://crrev.com/df4dae77650ba7962a1040bc60114d9a907562d9/src/codegen/arm/assembler-arm.cc
[modify] https://crrev.com/df4dae77650ba7962a1040bc60114d9a907562d9/src/codegen/arm/assembler-arm.h

Git Watcher via monorail

unread,
Apr 23, 2021, 9:12:10 AM4/23/21
to v8-re...@googlegroups.com

Comment #77 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c77


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/01bbc53438f1f5391120689a04d59e59d3d211e7

commit 01bbc53438f1f5391120689a04d59e59d3d211e7
Author: Sathya Gunasekaran <gsa...@chromium.org>
Date: Fri Apr 23 13:11:29 2021

Revert "[arm] Make the constant pool check deadline smarter"

This reverts commit df4dae77650ba7962a1040bc60114d9a907562d9.

Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Arm%20-%20debug/18512/overview

Original change's description:

> [arm] Make the constant pool check deadline smarter
>
> Rather than having periodic constant pool checks that almost always fail
> (because the constant pool deadline isn't close enough, or even because
> there's no constant pool to emit at all), set a single deadline on the
> first constant pool insertion which expires just before the maximum
> distance to the constant pool. Constant pool checks around unconditional
> jumps happen irrespective of this deadline.
>
> In particular, this is made possible by fixing the incorrect assumption
> that the constant pool can be emitted out of order. The new assumption
> (that the emission is in-order) is validated with a CHECK.
>
> Bug: v8:11420
> Change-Id: I061dd0b8c3476ba95ee1acfb3b485d8ba2adda91
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2844665
> Commit-Queue: Leszek Swirski <les...@chromium.org>
> Reviewed-by: Ross McIlroy <rmci...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#74141}

Bug: v8:11420
Change-Id: Ib822425749df33fb22a38d317c107a523b382e01

No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Git Watcher via monorail

unread,
Apr 23, 2021, 11:19:09 AM4/23/21
to v8-re...@googlegroups.com

Comment #78 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c78


The following revision refers to this bug:

Author: Leszek Swirski <les...@chromium.org>
Date: Fri Apr 23 10:36:19 2021

Reland "[arm] Make the constant pool check deadline smarter"

This is a reland of df4dae77650ba7962a1040bc60114d9a907562d9

Revert reason looks like an unrelated existing flake (https://crbug.com/v8/11634)


Original change's description:
> [arm] Make the constant pool check deadline smarter
>
> Rather than having periodic constant pool checks that almost always fail
> (because the constant pool deadline isn't close enough, or even because
> there's no constant pool to emit at all), set a single deadline on the
> first constant pool insertion which expires just before the maximum
> distance to the constant pool. Constant pool checks around unconditional
> jumps happen irrespective of this deadline.
>
> In particular, this is made possible by fixing the incorrect assumption
> that the constant pool can be emitted out of order. The new assumption
> (that the emission is in-order) is validated with a CHECK.
>
> Bug: v8:11420
> Change-Id: I061dd0b8c3476ba95ee1acfb3b485d8ba2adda91
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2844665
> Commit-Queue: Leszek Swirski <les...@chromium.org>
> Reviewed-by: Ross McIlroy <rmci...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#74141}

Bug: v8:11420
Change-Id: I1cc5ca9082da26ab225dee8d8ea22c385c6cc1d4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848468

Auto-Submit: Leszek Swirski <les...@chromium.org>
Commit-Queue: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>

Git Watcher via monorail

unread,
Apr 27, 2021, 9:29:06 AM4/27/21
to v8-re...@googlegroups.com

Comment #79 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c79


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/718030c479236dd95c3e4b3a2cb066e0edb50d9a

commit 718030c479236dd95c3e4b3a2cb066e0edb50d9a
Author: Leszek Swirski <les...@chromium.org>
Date: Fri Apr 23 14:01:54 2021

[sparkplug] Remove context param from some baseline builtins

Remove a couple of cases where builtins called by the baseline code
needed a context parameter, either because the interface descriptor
accidentally included the context, or by adding a trivial context load
from the frame where appropriate.

Bug: v8:11420
Change-Id: I3f34cd452f42dd876255375ae357feb245c78cdc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848464
Auto-Submit: Leszek Swirski <les...@chromium.org>
Reviewed-by: Nico Hartmann <nicoha...@chromium.org>
Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74227}

[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/builtins-definitions.h
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/builtins-generator-gen.cc
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/constructor.tq
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/conversion.tq
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/iterator.tq
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/riscv64/builtins-riscv64.cc
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/codegen/interface-descriptors.h
[modify] https://crrev.com/718030c479236dd95c3e4b3a2cb066e0edb50d9a/src/compiler/effect-control-linearizer.cc

Git Watcher via monorail

unread,
Apr 28, 2021, 3:53:07 AM4/28/21
to v8-re...@googlegroups.com

Comment #80 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c80


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/486925b47d8958d616a91d29a187c8d136cfed96

commit 486925b47d8958d616a91d29a187c8d136cfed96
Author: Leszek Swirski <les...@chromium.org>
Date: Tue Apr 27 15:49:54 2021

[sparkplug] Add custom builtin for ToBoolean

Add a special builtin performing a ToBoolean operation for jumps in
baseline code, which

a) returns the original value as the first return value, to avoid
needing to save it in the caller, and
b) returns the true/false value as a Smi, to make the baseline-side
comparison a cheap comparison against zero.

This reduces JumpIfToBoolean (on x64) from ~40 to ~30 bytes.

Bug: v8:11420
Change-Id: Idee51405b1e450cdd11ccb45ed82ddbc9119ae74
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2854654
Auto-Submit: Leszek Swirski <les...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Reviewed-by: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74239}

[modify] https://crrev.com/486925b47d8958d616a91d29a187c8d136cfed96/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/486925b47d8958d616a91d29a187c8d136cfed96/src/baseline/baseline-compiler.h
[modify] https://crrev.com/486925b47d8958d616a91d29a187c8d136cfed96/src/builtins/conversion.tq

Git Watcher via monorail

unread,
May 3, 2021, 8:34:09 AM5/3/21
to v8-re...@googlegroups.com

Comment #81 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c81


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/15803e5fa9eefab962a4f76d0cd8b7029bf9adab

commit 15803e5fa9eefab962a4f76d0cd8b7029bf9adab
Author: Leszek Swirski <les...@chromium.org>
Date: Mon May 03 10:16:50 2021

[test] Replace turboprop_as_toptier with always_sparkplug

In the 'extra' variant, replace turboprop_as_toptier (which is mostly
covered by turboprop) with always_sparkplug, to increase Sparkplug's
coverage on tests.

Bug: v8:11420
Change-Id: I43b7009d184a03cb163d78f1f8bd05233ef7c34e
Fixed: v8:11686
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2862769
Auto-Submit: Leszek Swirski <les...@chromium.org>
Commit-Queue: Michael Achenbach <mache...@chromium.org>
Reviewed-by: Michael Achenbach <mache...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74324}

[modify] https://crrev.com/15803e5fa9eefab962a4f76d0cd8b7029bf9adab/test/cctest/cctest.status
[modify] https://crrev.com/15803e5fa9eefab962a4f76d0cd8b7029bf9adab/test/cctest/test-code-pages.cc
[modify] https://crrev.com/15803e5fa9eefab962a4f76d0cd8b7029bf9adab/tools/testrunner/standard_runner.py

Git Watcher via monorail

unread,
May 10, 2021, 10:14:08 AM5/10/21
to v8-re...@googlegroups.com

Comment #82 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c82


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d3d4a89652ff14264bbd18bc63f1d99c4d324aea

commit d3d4a89652ff14264bbd18bc63f1d99c4d324aea
Author: Camillo Bruni <cbr...@chromium.org>
Date: Tue May 04 21:05:11 2021

[compiler] Keep WriteBarrier Smi check on the main code path

Checking for Smis is cheap. There is no need to put this in the
deferred code block. With this CL we will bail out earlier for
Smis.

Bug: v8:11420
Change-Id: I52e39def633d7cb8bd51ae24d56d9582f56faf41
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2872826
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Reviewed-by: Igor Sheludko <ish...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74475}

[modify] https://crrev.com/d3d4a89652ff14264bbd18bc63f1d99c4d324aea/src/compiler/backend/arm/code-generator-arm.cc
[modify] https://crrev.com/d3d4a89652ff14264bbd18bc63f1d99c4d324aea/src/compiler/backend/arm64/code-generator-arm64.cc
[modify] https://crrev.com/d3d4a89652ff14264bbd18bc63f1d99c4d324aea/src/compiler/backend/ia32/code-generator-ia32.cc
[modify] https://crrev.com/d3d4a89652ff14264bbd18bc63f1d99c4d324aea/src/compiler/backend/x64/code-generator-x64.cc

Git Watcher via monorail

unread,
May 10, 2021, 5:50:24 PM5/10/21
to v8-re...@googlegroups.com

Comment #83 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c83


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b684c36fa7996f261e919ae08245c60c2052cf17

commit b684c36fa7996f261e919ae08245c60c2052cf17
Author: Camillo Bruni <cbr...@chromium.org>
Date: Mon May 10 20:24:59 2021

[codegen] Move common enums to macro-assembler.h

- Share RemeberedSetAction and SmiCheck enums between all platforms.
- Convert to enum classes with k-prefixed values

Bug: v8:11420
Change-Id: Ib265a229f12a850ea866fd01d8022cbae5e1a9d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2885040
Reviewed-by: Zhi An Ng <zh...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74489}

[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/builtins-internal-gen.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/ppc/builtins-ppc.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/riscv64/builtins-riscv64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/s390/builtins-s390.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/arm/macro-assembler-arm.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/arm/macro-assembler-arm.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/arm64/macro-assembler-arm64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/arm64/macro-assembler-arm64.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/ia32/macro-assembler-ia32.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/ia32/macro-assembler-ia32.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/macro-assembler.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/mips/macro-assembler-mips.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/mips/macro-assembler-mips.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/mips64/macro-assembler-mips64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/mips64/macro-assembler-mips64.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/ppc/macro-assembler-ppc.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/ppc/macro-assembler-ppc.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/riscv64/macro-assembler-riscv64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/riscv64/macro-assembler-riscv64.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/s390/macro-assembler-s390.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/s390/macro-assembler-s390.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/codegen/x64/macro-assembler-x64.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/arm/code-generator-arm.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/arm64/code-generator-arm64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/ia32/code-generator-ia32.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/mips/code-generator-mips.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/mips64/code-generator-mips64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/ppc/code-generator-ppc.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/riscv64/code-generator-riscv64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/s390/code-generator-s390.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/compiler/backend/x64/code-generator-x64.cc
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/wasm/baseline/arm/liftoff-assembler-arm.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/wasm/baseline/arm64/liftoff-assembler-arm64.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/wasm/baseline/mips/liftoff-assembler-mips.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/wasm/baseline/mips64/liftoff-assembler-mips64.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/wasm/baseline/s390/liftoff-assembler-s390.h
[modify] https://crrev.com/b684c36fa7996f261e919ae08245c60c2052cf17/src/wasm/baseline/x64/liftoff-assembler-x64.h

Git Watcher via monorail

unread,
May 11, 2021, 9:10:08 AM5/11/21
to v8-re...@googlegroups.com

Comment #84 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c84


The following revision refers to this bug:
https://chrome-internal.googlesource.com/v8/v8-perf/+/ef9f4b51ffe965fd75f9d98c6218d5e8080b0fe8

commit ef9f4b51ffe965fd75f9d98c6218d5e8080b0fe8
Author: Camillo Bruni <cbr...@google.com>
Date: Tue May 11 08:05:39 2021

Git Watcher via monorail

unread,
May 11, 2021, 9:59:10 AM5/11/21
to v8-re...@googlegroups.com

Comment #85 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c85


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/0adb40efb62602e5545ea8f899039b79cdb11394

commit 0adb40efb62602e5545ea8f899039b79cdb11394
Author: Camillo Bruni <cbr...@chromium.org>
Date: Tue May 11 09:50:47 2021

[sparkplug] Introduce Compact Call Trampolines

Argc and Slot are usually small and fit within a single 32bit word.
This reduces most property calls by 5 bytes.

This results in roughly 1% code reduction for sparkplug and no
measurable regression on x64.

Bug: v8:11420
Change-Id: I272c26c40b99f2dc5817f18bec113662a5bfebce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2872828
Reviewed-by: Toon Verwaest <verw...@chromium.org>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74505}

[modify] https://crrev.com/0adb40efb62602e5545ea8f899039b79cdb11394/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/0adb40efb62602e5545ea8f899039b79cdb11394/src/builtins/builtins-call-gen.cc
[modify] https://crrev.com/0adb40efb62602e5545ea8f899039b79cdb11394/src/builtins/builtins-call-gen.h
[modify] https://crrev.com/0adb40efb62602e5545ea8f899039b79cdb11394/src/builtins/builtins-definitions.h
[modify] https://crrev.com/0adb40efb62602e5545ea8f899039b79cdb11394/src/codegen/interface-descriptors.h

Git Watcher via monorail

unread,
May 13, 2021, 3:01:09 AM5/13/21
to v8-re...@googlegroups.com

Comment #86 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c86


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/717e5847485699dfcf000b3afb873097e0844ca5

commit 717e5847485699dfcf000b3afb873097e0844ca5
Author: Liu Yu <li...@loongson.cn>
Date: Thu May 13 03:33:32 2021

[mips][compiler] Keep WriteBarrier Smi check on the main code path

Port: d3d4a89652ff14264bbd18bc63f1d99c4d324aea

Bug: v8:11420
Change-Id: I016981f83f347a1bafae9a72882b634a69b86c64
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2894002
Auto-Submit: Liu yu <li...@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojia...@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojia...@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#74552}

[modify] https://crrev.com/717e5847485699dfcf000b3afb873097e0844ca5/src/compiler/backend/mips/code-generator-mips.cc
[modify] https://crrev.com/717e5847485699dfcf000b3afb873097e0844ca5/src/compiler/backend/mips64/code-generator-mips64.cc

Git Watcher via monorail

unread,
May 13, 2021, 10:46:22 AM5/13/21
to v8-re...@googlegroups.com

Comment #87 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c87


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/265e076e595d59df36865d13732d85346beb15f5

commit 265e076e595d59df36865d13732d85346beb15f5
Author: QiuJi <qi...@iscas.ac.cn>
Date: Thu May 13 09:02:02 2021

[riscv64][compiler] Keep WriteBarrier Smi check on the main code path


Port: d3d4a89652ff14264bbd18bc63f1d99c4d324aea
Bug: v8:11420
Change-Id: I995bb6f9e4f0d62d2e048fbae0d17747c301db4d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2894036
Commit-Queue: Brice Dobry <brice...@futurewei.com>
Reviewed-by: Brice Dobry <brice...@futurewei.com>
Cr-Commit-Position: refs/heads/master@{#74555}

[modify] https://crrev.com/265e076e595d59df36865d13732d85346beb15f5/src/compiler/backend/riscv64/code-generator-riscv64.cc

Git Watcher via monorail

unread,
May 19, 2021, 8:10:09 AM5/19/21
to v8-re...@googlegroups.com

Comment #88 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c88


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d

commit 2a43f8c4c76988ea5f7aec5855dc93e26480ff1d
Author: Camillo Bruni <cbr...@chromium.org>
Date: Tue May 18 22:02:32 2021

[sparkplug] Use separate WriteBarrier stubs

Inline the RememberedSetAction and SaveFPMode flags directly into the
RecordWrite stubs:
- Save two register for input arguments
- Avoid branches in the RecordWrite stubs

We end up with 2 stubs for the EphemeronKeyBarrier and 4 stubs for
RecordWrite. Due to more inlined calls we have roughly 1KiB more
builtins code for RecordWrite currently. We will address this in the
future by splitting out common code into a separate stub. There is
no additional code size overhead for EphemeronKeyBarrier.

This saves 4 to 8 bytes on x64 per RecordWrite call and 2.5% sparkplug
code size reduction on d3.min.js.

Bug: v8:11420
Change-Id: Ib7170265dd6dd4b3aaf8275083f096e76fae8251
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2902731
Reviewed-by: Michael Lippautz <mlip...@chromium.org>
Reviewed-by: Leszek Swirski <les...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>

Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74661}

[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/builtins/builtins-definitions.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/builtins/builtins-internal-gen.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/builtins/builtins.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/arm/interface-descriptors-arm-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/arm/macro-assembler-arm.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/arm/macro-assembler-arm.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/arm64/interface-descriptors-arm64-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/arm64/macro-assembler-arm64.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/arm64/macro-assembler-arm64.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/ia32/interface-descriptors-ia32-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/ia32/macro-assembler-ia32.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/ia32/macro-assembler-ia32.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/interface-descriptors.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/macro-assembler.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/mips/interface-descriptors-mips-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/mips/macro-assembler-mips.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/mips/macro-assembler-mips.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/mips64/interface-descriptors-mips64-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/mips64/macro-assembler-mips64.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/mips64/macro-assembler-mips64.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/ppc/interface-descriptors-ppc-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/ppc/macro-assembler-ppc.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/ppc/macro-assembler-ppc.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/riscv64/interface-descriptors-riscv64-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/riscv64/macro-assembler-riscv64.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/riscv64/macro-assembler-riscv64.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/s390/interface-descriptors-s390-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/s390/macro-assembler-s390.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/s390/macro-assembler-s390.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/turbo-assembler.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/x64/interface-descriptors-x64-inl.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/codegen/x64/macro-assembler-x64.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/common/globals.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/arm/code-generator-arm.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/arm64/code-generator-arm64.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/ia32/code-generator-ia32.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/mips/code-generator-mips.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/mips64/code-generator-mips64.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/ppc/code-generator-ppc.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/riscv64/code-generator-riscv64.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/s390/code-generator-s390.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/compiler/backend/x64/code-generator-x64.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/debug/debug-evaluate.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/heap/heap-write-barrier.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/snapshot/startup-serializer.cc
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/baseline/arm/liftoff-assembler-arm.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/baseline/arm64/liftoff-assembler-arm64.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/baseline/mips/liftoff-assembler-mips.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/baseline/mips64/liftoff-assembler-mips64.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/baseline/s390/liftoff-assembler-s390.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/baseline/x64/liftoff-assembler-x64.h
[modify] https://crrev.com/2a43f8c4c76988ea5f7aec5855dc93e26480ff1d/src/wasm/wasm-code-manager.h

Git Watcher via monorail

unread,
May 20, 2021, 4:19:20 AM5/20/21
to v8-re...@googlegroups.com

Comment #89 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c89


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/b8571b309a564763ad23e6f08ae1ff0adb72f002

commit b8571b309a564763ad23e6f08ae1ff0adb72f002
Author: Milad Fa <mfar...@redhat.com>
Date: Wed May 19 13:59:13 2021

[sparkplug] remove UNREACHABLE from constexpr functions

gcc may throw the following compilation error if UNREACHABLE
is used within a constexpr function:
```
error: call to non-'constexpr' function
'void V8_Fatal(const char*, ...)'
```

Bug: v8:11420
Change-Id: I7f8237d00ba1a5d9bd778d45eb833b89cbe8eb24
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2906032
Commit-Queue: Clemens Backes <clem...@chromium.org>
Reviewed-by: Camillo Bruni <cbr...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74688}

[modify] https://crrev.com/b8571b309a564763ad23e6f08ae1ff0adb72f002/src/builtins/builtins.h
[modify] https://crrev.com/b8571b309a564763ad23e6f08ae1ff0adb72f002/src/wasm/wasm-code-manager.h

Git Watcher via monorail

unread,
May 21, 2021, 8:57:08 AM5/21/21
to v8-re...@googlegroups.com

Comment #90 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c90


The following revision refers to this bug:
https://chrome-internal.googlesource.com/v8/v8-perf/+/0eb8a0ba73e44cbfdfe3168b1ae3ff56fdb4671d

commit 0eb8a0ba73e44cbfdfe3168b1ae3ff56fdb4671d
Author: Camillo Bruni <cbr...@google.com>
Date: Fri May 21 12:00:28 2021

Git Watcher via monorail

unread,
May 27, 2021, 8:55:09 AM5/27/21
to v8-re...@googlegroups.com

Git Watcher via monorail

unread,
May 27, 2021, 12:14:15 PM5/27/21
to v8-re...@googlegroups.com

Comment #92 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c92


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/17915002fc977656cea3f8d6d9ac05768542b731

commit 17915002fc977656cea3f8d6d9ac05768542b731
Author: Camillo Bruni <cbr...@chromium.org>
Date: Thu May 27 13:28:40 2021

[builtins][x64] Use callee-saved registers for write barrier stubs

Calls to the record write stub are quite frequent and the caller has to
save all registers used by the builtin.

This CL moves the register saving to the builtin itself, reducing the
call-site code size significantly in many cases and thus improving
compilation speed of sparkplug.

Follow-up CLs with introduce the same behaviour to other platforms.

- CallRecordWriteStubSaveRegisters preserves the existing behaviour and
saves clobbered registers.
- CallRecordWriteStub expects the registers to match the ones specified
in the WriteBarrierDescriptor for more compact code.

Bug: v8:11420
Change-Id: Ib1260cf972712bb9ba879beacd34b06a7fa347f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922103

Reviewed-by: Santiago Aboy Solanes <sol...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74831}

[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/codegen/interface-descriptors-inl.h
[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/codegen/interface-descriptors.h
[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/codegen/x64/macro-assembler-x64.h
[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/compiler/backend/x64/code-generator-x64.cc
[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/compiler/linkage.cc
[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/compiler/pipeline.cc
[modify] https://crrev.com/17915002fc977656cea3f8d6d9ac05768542b731/src/wasm/baseline/x64/liftoff-assembler-x64.h

Git Watcher via monorail

unread,
May 27, 2021, 1:06:09 PM5/27/21
to v8-re...@googlegroups.com

Comment #93 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c93


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d

commit d23d68fe37e84c63910a9d02af7e68f76c5e4a0d
Author: Adam Klein <ad...@chromium.org>
Date: Thu May 27 17:04:41 2021

Revert "[builtins][x64] Use callee-saved registers for write barrier stubs"

This reverts commit 17915002fc977656cea3f8d6d9ac05768542b731.

Reason for revert: Breaks TSAN builds (e.g. https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20builder/19166/overview)

Original change's description:

> [builtins][x64] Use callee-saved registers for write barrier stubs
>
> Calls to the record write stub are quite frequent and the caller has to
> save all registers used by the builtin.
>
> This CL moves the register saving to the builtin itself, reducing the
> call-site code size significantly in many cases and thus improving
> compilation speed of sparkplug.
>
> Follow-up CLs with introduce the same behaviour to other platforms.
>
> - CallRecordWriteStubSaveRegisters preserves the existing behaviour and
> saves clobbered registers.
> - CallRecordWriteStub expects the registers to match the ones specified
> in the WriteBarrierDescriptor for more compact code.
>
> Bug: v8:11420
> Change-Id: Ib1260cf972712bb9ba879beacd34b06a7fa347f1
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922103
> Reviewed-by: Santiago Aboy Solanes <sol...@chromium.org>
> Reviewed-by: Andreas Haas <ah...@chromium.org>
> Commit-Queue: Camillo Bruni <cbr...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#74831}

Bug: v8:11420
Change-Id: I20f239e64ec2834acd651341634974291992add5

No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Commit-Queue: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#74832}

[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/codegen/interface-descriptors-inl.h
[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/codegen/interface-descriptors.h
[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/codegen/x64/macro-assembler-x64.h
[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/compiler/backend/x64/code-generator-x64.cc
[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/compiler/linkage.cc
[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/compiler/pipeline.cc
[modify] https://crrev.com/d23d68fe37e84c63910a9d02af7e68f76c5e4a0d/src/wasm/baseline/x64/liftoff-assembler-x64.h

Git Watcher via monorail

unread,
May 30, 2021, 7:07:23 AM5/30/21
to v8-re...@googlegroups.com

Comment #94 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c94


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/ebca5c16f51a5d23c090bdd6775e15353b2d096d

commit ebca5c16f51a5d23c090bdd6775e15353b2d096d
Author: Liu Yu <li...@loongson.cn>
Date: Fri May 28 07:41:25 2021

[mips][codegen] Assert that RegisterArray has only unique registers

Port 032ab3d2ecca1dd5286295164f5f5e603a8ee774

Bug: v8:11420
Change-Id: I7c5f627902db9f21ef35bf8d085ac6a6c72755ca
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2925315

Auto-Submit: Liu yu <li...@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojia...@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojia...@loongson.cn>

Git Watcher via monorail

unread,
Jun 1, 2021, 4:43:07 AM6/1/21
to v8-re...@googlegroups.com

Comment #95 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c95


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f

commit 8ff87ecc9125fdb14b3852e2f526a7531c5cf53f
Author: Camillo Bruni <cbr...@chromium.org>
Date: Mon May 31 13:27:15 2021

Reland "[builtins][x64] Use callee-saved registers for write barrier stubs"

This is a reland of 17915002fc977656cea3f8d6d9ac05768542b731 with an
added fix for TurboAssembler::CallTSANRelaxedStoreStub.


Original change's description:
> [builtins][x64] Use callee-saved registers for write barrier stubs
>
> Calls to the record write stub are quite frequent and the caller has to
> save all registers used by the builtin.
>
> This CL moves the register saving to the builtin itself, reducing the
> call-site code size significantly in many cases and thus improving
> compilation speed of sparkplug.
>
> Follow-up CLs with introduce the same behaviour to other platforms.
>
> - CallRecordWriteStubSaveRegisters preserves the existing behaviour and
> saves clobbered registers.
> - CallRecordWriteStub expects the registers to match the ones specified
> in the WriteBarrierDescriptor for more compact code.
>
> Bug: v8:11420
> Change-Id: Ib1260cf972712bb9ba879beacd34b06a7fa347f1
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922103
> Reviewed-by: Santiago Aboy Solanes <sol...@chromium.org>
> Reviewed-by: Andreas Haas <ah...@chromium.org>
> Commit-Queue: Camillo Bruni <cbr...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#74831}

Bug: v8:11420
Change-Id: Ibac3e6f0360d35579ee0b0dc5d698f8cdab93260
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922604

Reviewed-by: Santiago Aboy Solanes <sol...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74870}

[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/codegen/interface-descriptors-inl.h
[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/codegen/interface-descriptors.h
[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/codegen/x64/macro-assembler-x64.h
[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/compiler/backend/x64/code-generator-x64.cc
[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/compiler/linkage.cc
[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/compiler/pipeline.cc
[modify] https://crrev.com/8ff87ecc9125fdb14b3852e2f526a7531c5cf53f/src/wasm/baseline/x64/liftoff-assembler-x64.h

Git Watcher via monorail

unread,
Jun 1, 2021, 7:21:22 AM6/1/21
to v8-re...@googlegroups.com

Comment #96 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c96


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/c69b0c809db85f31c3dded3f67c4754a7dfe8484

commit c69b0c809db85f31c3dded3f67c4754a7dfe8484
Author: Camillo Bruni <cbr...@chromium.org>
Date: Tue Jun 01 10:23:47 2021

[builtins] Preparation for callee-saved registers in RecordWrite stubs

Various behaviour preserving changes that make it easier to switch on
callee-saved registers without having to land refactoring code at the
same time.

- Use MaybeStoreRegisters / MaybeRestoreRegisters
- Use CallRecordWriteStubSaveRegisters everywhere for now. Eventually
this will be replaced by CallRecordWriteStub in places with fixed
registers.
- Use WriteBarrierDescriptor::ComputeSavedRegisters, which for now
returns the same as allocatable_registers

Full x64 implementation: https://crrev.com/c/2922604

Bug: v8:11420
Change-Id: I04e6ac2f6333edc91cb1030a0217f59ad441a1d3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922250

Reviewed-by: Santiago Aboy Solanes <sol...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74876}

[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/builtins/mips/builtins-mips.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/builtins/mips64/builtins-mips64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/builtins/ppc/builtins-ppc.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/builtins/riscv64/builtins-riscv64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/builtins/s390/builtins-s390.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/arm/macro-assembler-arm.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/arm/macro-assembler-arm.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/arm64/macro-assembler-arm64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/arm64/macro-assembler-arm64.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/ia32/macro-assembler-ia32.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/ia32/macro-assembler-ia32.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/interface-descriptors-inl.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/interface-descriptors.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/mips/macro-assembler-mips.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/mips/macro-assembler-mips.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/mips64/macro-assembler-mips64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/mips64/macro-assembler-mips64.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/ppc/macro-assembler-ppc.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/ppc/macro-assembler-ppc.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/riscv64/macro-assembler-riscv64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/riscv64/macro-assembler-riscv64.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/s390/macro-assembler-s390.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/s390/macro-assembler-s390.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/codegen/x64/macro-assembler-x64.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/compiler/backend/arm/code-generator-arm.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/compiler/backend/arm64/code-generator-arm64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/compiler/backend/ia32/code-generator-ia32.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/compiler/backend/mips/code-generator-mips.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/compiler/backend/mips64/code-generator-mips64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/compiler/backend/ppc/code-generator-ppc.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/compiler/backend/riscv64/code-generator-riscv64.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/compiler/backend/s390/code-generator-s390.cc
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/wasm/baseline/arm/liftoff-assembler-arm.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/wasm/baseline/arm64/liftoff-assembler-arm64.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/wasm/baseline/mips/liftoff-assembler-mips.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/wasm/baseline/mips64/liftoff-assembler-mips64.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/wasm/baseline/ppc/liftoff-assembler-ppc.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h
[modify] https://crrev.com/c69b0c809db85f31c3dded3f67c4754a7dfe8484/src/wasm/baseline/s390/liftoff-assembler-s390.h

Git Watcher via monorail

unread,
Jun 2, 2021, 4:35:26 AM6/2/21
to v8-re...@googlegroups.com

Comment #97 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c97


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/336f10c4269495fe857bcda35828d80f7f80c87d

commit 336f10c4269495fe857bcda35828d80f7f80c87d
Author: Milad Fa <mfar...@redhat.com>
Date: Tue Jun 01 15:46:02 2021

[builtins] Fix gcc compilation error

Not using constexpr might throw this error during compilation:

```
error: call to non-'constexpr' function 'std::__1::array<_Tp, ...
```

Bug: v8:11420
Change-Id: I308e76b9d9683ae37088ef8e1a5d72cd1e05de78
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2930362
Reviewed-by: Camillo Bruni <cbr...@chromium.org>

Reviewed-by: Santiago Aboy Solanes <sol...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74905}

[modify] https://crrev.com/336f10c4269495fe857bcda35828d80f7f80c87d/src/codegen/interface-descriptors-inl.h

Git Watcher via monorail

unread,
Jun 7, 2021, 5:30:11 PM6/7/21
to v8-re...@googlegroups.com

Comment #98 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c98


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/f68e1be7955428548c600c07e54d2a23dcda4354

commit f68e1be7955428548c600c07e54d2a23dcda4354
Author: Camillo Bruni <cbr...@chromium.org>
Date: Mon Jun 07 15:19:32 2021

[sparkplug][x64] Reduce CallRecordWrite instructions

Directly use the correct registers for calling the RecordWrite stubs
in sparkplug. To keep changes to existing builtins minimal there are
certain register requirements which are now made explicit in
WriteBarrierDescriptor::Verify.


Bug: v8:11420
Change-Id: I3a0c500fbe26f82ee2243a61dbf574fd31656982
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2910313

Reviewed-by: Santiago Aboy Solanes <sol...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74998}

[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/baseline/x64/baseline-assembler-x64-inl.h
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/codegen/arm/interface-descriptors-arm-inl.h
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/codegen/arm64/interface-descriptors-arm64-inl.h
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/codegen/ia32/interface-descriptors-ia32-inl.h
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/codegen/interface-descriptors-inl.h
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/codegen/interface-descriptors.cc
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/codegen/interface-descriptors.h
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/codegen/x64/interface-descriptors-x64-inl.h
[modify] https://crrev.com/f68e1be7955428548c600c07e54d2a23dcda4354/src/codegen/x64/macro-assembler-x64.cc

Git Watcher via monorail

unread,
Jun 8, 2021, 6:05:10 AM6/8/21
to v8-re...@googlegroups.com

Comment #99 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c99


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/45662e6f67c1aff04f5479fcebd98c88e0eba156

commit 45662e6f67c1aff04f5479fcebd98c88e0eba156
Author: Camillo Bruni <cbr...@chromium.org>
Date: Wed Jun 02 14:20:11 2021

[macro-assembler] Make IncrementCounter prechecks inlinable

Bug: v8:11420
Change-Id: Ic2b977c41dd71426838e1039b66dc7936cc4ff98
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2933658
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Commit-Queue: Camillo Bruni <cbr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75010}

[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/arm/macro-assembler-arm.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/arm/macro-assembler-arm.h
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/arm64/macro-assembler-arm64.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/arm64/macro-assembler-arm64.h
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/ia32/macro-assembler-ia32.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/ia32/macro-assembler-ia32.h
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/mips/macro-assembler-mips.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/mips/macro-assembler-mips.h
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/mips64/macro-assembler-mips64.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/mips64/macro-assembler-mips64.h
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/ppc/macro-assembler-ppc.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/ppc/macro-assembler-ppc.h
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/riscv64/macro-assembler-riscv64.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/riscv64/macro-assembler-riscv64.h
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/s390/macro-assembler-s390.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/s390/macro-assembler-s390.h
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/x64/macro-assembler-x64.cc
[modify] https://crrev.com/45662e6f67c1aff04f5479fcebd98c88e0eba156/src/codegen/x64/macro-assembler-x64.h

Git Watcher via monorail

unread,
Jun 9, 2021, 10:12:11 AM6/9/21
to v8-re...@googlegroups.com

Comment #100 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c100


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/fa188e832f8fd883db8154e863642b62138e8e3a

commit fa188e832f8fd883db8154e863642b62138e8e3a
Author: Patrick Thier <pth...@chromium.org>
Date: Wed Jun 09 09:16:46 2021

[sparkplug] Enable batch compilation per default

Use batch compilation per default for Sparkplug.

Bug: v8:11790, v8:11420
Change-Id: Ie0fd8a0614d674170b0878064292caa0a5ab06e2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2948659
Reviewed-by: Toon Verwaest <verw...@chromium.org>
Commit-Queue: Patrick Thier <pth...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75049}

[modify] https://crrev.com/fa188e832f8fd883db8154e863642b62138e8e3a/src/flags/flag-definitions.h

Git Watcher via monorail

unread,
Jun 10, 2021, 8:10:09 AM6/10/21
to v8-re...@googlegroups.com

Comment #101 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c101


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/088e252d16cedc51fa994d7be61b987eb5a1da57

commit 088e252d16cedc51fa994d7be61b987eb5a1da57
Author: Milad Fa <mfar...@redhat.com>
Date: Wed Jun 09 15:16:50 2021

[sparkplug] Disable Batch compilation on unsupported platforms

Batch compilation needs to remain disabled on unsupported platforms
to avoid this compilation error:

error: assignment of read-only location '* conclusion_pointer'


Bug: v8:11790, v8:11420
Change-Id: I64aaf6476fdb585f8210331f31b01ebefe9c61c0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2949969
Reviewed-by: Patrick Thier <pth...@chromium.org>
Commit-Queue: Milad Fa <mfar...@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75071}

[modify] https://crrev.com/088e252d16cedc51fa994d7be61b987eb5a1da57/src/flags/flag-definitions.h

Git Watcher via monorail

unread,
Jun 10, 2021, 9:17:25 AM6/10/21
to v8-re...@googlegroups.com

Comment #102 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c102


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/c5d41ae6d2512d5f12c33432f2126de31c451dc2

commit c5d41ae6d2512d5f12c33432f2126de31c451dc2
Author: Camillo Bruni <cbr...@chromium.org>
Date: Thu Jun 10 12:33:29 2021

[sparkplug][arm][arm64[ia32] Callee-saved registers for RecordWrite

Migrate the remaining architectures to the new callee save RecordWrite
approach.

Bug: v8:11420
Change-Id: I9da56cbb5bf8c6ca4bcc7c0e2a1233e2f5ef587c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2944844
Commit-Queue: Camillo Bruni <cbr...@chromium.org>

Reviewed-by: Santiago Aboy Solanes <sol...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75075}

[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/baseline/arm/baseline-assembler-arm-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/baseline/baseline-compiler.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/builtins/arm/builtins-arm.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/builtins/arm64/builtins-arm64.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/builtins/ia32/builtins-ia32.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/builtins/x64/builtins-x64.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/arm/interface-descriptors-arm-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/arm/macro-assembler-arm.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/arm64/interface-descriptors-arm64-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/arm64/macro-assembler-arm64.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/ia32/interface-descriptors-ia32-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/ia32/macro-assembler-ia32.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/interface-descriptors.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/interface-descriptors.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/mips/interface-descriptors-mips-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/mips64/interface-descriptors-mips64-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/ppc/interface-descriptors-ppc-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/riscv64/interface-descriptors-riscv64-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/codegen/s390/interface-descriptors-s390-inl.h
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/compiler/backend/arm64/code-generator-arm64.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/compiler/backend/ia32/code-generator-ia32.cc
[modify] https://crrev.com/c5d41ae6d2512d5f12c33432f2126de31c451dc2/src/compiler/linkage.cc

Git Watcher via monorail

unread,
Jun 11, 2021, 12:31:09 PM6/11/21
to v8-re...@googlegroups.com

Comment #103 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c103


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8/+/a566732140f2202bb9413da29fb11338d4cd6592

commit a566732140f2202bb9413da29fb11338d4cd6592
Author: Junliang Yan <jun...@redhat.com>
Date: Fri Jun 11 15:49:16 2021

PPC:s390: [sparkplug][arm][arm64[ia32] Callee-saved registers for RecordWrite

Port c5d41ae6d2512d5f12c33432f2126de31c451dc2

Original Message:

Migrate the remaining architectures to the new callee save
RecordWrite approach.

Bug: v8:11420
Change-Id: I20ddf47690203fe9a0cd76dea3a08658582faf9d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953486
Auto-Submit: Junliang Yan <jun...@redhat.com>
Reviewed-by: Milad Fa <mfar...@redhat.com>
Commit-Queue: Junliang Yan <jun...@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75104}

[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/builtins/ppc/builtins-ppc.cc
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/builtins/s390/builtins-s390.cc
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/codegen/ppc/interface-descriptors-ppc-inl.h
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/codegen/ppc/macro-assembler-ppc.cc
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/codegen/ppc/macro-assembler-ppc.h
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/codegen/s390/interface-descriptors-s390-inl.h
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/codegen/s390/macro-assembler-s390.cc
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/codegen/s390/macro-assembler-s390.h
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/compiler/backend/ppc/code-generator-ppc.cc
[modify] https://crrev.com/a566732140f2202bb9413da29fb11338d4cd6592/src/compiler/backend/s390/code-generator-s390.cc

Git Watcher via monorail

unread,
Jun 15, 2021, 1:03:07 PM6/15/21
to v8-re...@googlegroups.com

Comment #104 on issue 11420 by Git Watcher: Tracking bug for Sparkplug
https://bugs.chromium.org/p/v8/issues/detail?id=11420#c104


The following revision refers to this bug:
https://chrome-internal.googlesource.com/v8/v8-perf/+/2e65b08b9042efc0e86964eba17d75cebd9e68ba

commit 2e65b08b9042efc0e86964eba17d75cebd9e68ba
Author: Ng Zhi An <zh...@google.com>
Date: Tue Jun 15 16:34:34 2021
It is loading more messages.
0 new messages