This adds a dedicated flag for enabling the BytecodeGraphBuilder. The
intention is to be explicit when this variant is being tested and to
avoid unnecessary overhead in production code for a configuration that
is not yet shipping.
R=rmcilroy@chromium.org
Review-Url: https://codereview.chromium.org/1925123002
Cr-Commit-Position: refs/heads/master@{#35892}
port 306c412ce0 (r35833)
original commit message:
This is needed by Blink to implement the Custom Elements spec.
BUG=
Review-Url: https://codereview.chromium.org/1928213002
Cr-Commit-Position: refs/heads/master@{#35889}
port ff19726d80 (r35818)
original commit message:
Refactor the TurboFan pipeline to allow for concurrent recompilation in
the same way that Crankshaft does it. For now we limit the concurrent
phases to scheduling, instruction selection, register allocation and
jump threading.
BUG=
Review-Url: https://codereview.chromium.org/1926383002
Cr-Commit-Position: refs/heads/master@{#35888}
Reason for revert:
[Sheriff] Looks like this breaks layout tests:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/6442
Original issue's description:
> Remove more dead code after Object.observe removal
>
> This moves __{define,lookup}{Getter,Setter}__ to builtins.cc to free up the JavaScript implementation of DefineOwnProperty for deletion.
TBR=verwaest@chromium.org,jkummerow@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/1929293002
Cr-Commit-Position: refs/heads/master@{#35886}
These checks ensure that a TypeError is thrown, per spec, rather than
a runtime assert failure.
BUG=v8:4964
R=adamk
LOG=Y
Review-Url: https://codereview.chromium.org/1929123002
Cr-Commit-Position: refs/heads/master@{#35885}
Do not hold bare pointers to scripts during sampling heap tree construction,
as string conversions may lead to an allocation that in turn could cause GC
which renders all pointers invalid.
Review-Url: https://codereview.chromium.org/1929813002
Cr-Commit-Position: refs/heads/master@{#35883}
Fixes 4 compile errors on Mac due to specifiers not matching type casts.
LOG=N
BUG=
Review-Url: https://codereview.chromium.org/1921483004
Cr-Commit-Position: refs/heads/master@{#35882}
Also revert "[heap] Force inlining of AllocatedSinceLastGC"
This is a speculative revert to see if it actually impacts the benchmarks in
question.
This reverts commit 723e120bd0.
This reverts commit 08dbdd4037.
BUG=chromium:605524
LOG=N
TBR=ulan@chromium.org
Review-Url: https://codereview.chromium.org/1932883002
Cr-Commit-Position: refs/heads/master@{#35881}
This could be the case when running nested message loop
while paused in debugger.
BUG=none
LOG=N
Review-Url: https://codereview.chromium.org/1922703005
Cr-Commit-Position: refs/heads/master@{#35880}
This moves __{define,lookup}{Getter,Setter}__ to builtins.cc to free up the JavaScript implementation of DefineOwnProperty for deletion.
Review-Url: https://codereview.chromium.org/1904313004
Cr-Commit-Position: refs/heads/master@{#35876}
I introduced a new flag, --wasm-parallel-compilation, which turns on
parallel compilation of wasm modules. If parallel compilation is turned
on, then the compilation of wasm functions is split into three phases,
initialization, execution, and finalization. The execution phase is the
phase which is going to contain all the code that can be executed in
parallel. At the moment the execution phase is still empty.
R=titzer@chromium.org
Review-Url: https://codereview.chromium.org/1928933002
Cr-Commit-Position: refs/heads/master@{#35875}
Instead of replacing the array with an empty one after resuming, overwrite
contents with a new Oddball.
This will simplify the work to be done by the bytecode graphbuilder and
potentially allow for more optimization.
(For full-codegen generators, nothing changes.)
BUG=v8:4907
LOG=n
Review-Url: https://codereview.chromium.org/1923253002
Cr-Commit-Position: refs/heads/master@{#35872}
Reason for revert:
Will resubmit with proper fix and more test skips.
Original issue's description:
> [Ignition] Test ignition on all bots.
>
> This adds ignition to the testing variants that are run on all
> bots.
>
> Failing tests can only be skipped with the NO_IGNITION
> keyword in status files. Existing expectations for the
> ignition_turbofan variant are all duplicated and use the
> NO_IGNITION keyword as well now.
>
> BUG=v8:4280
> LOG=N
> NOTRY=true
TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,mythria@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280
Review-Url: https://codereview.chromium.org/1930943002
Cr-Commit-Position: refs/heads/master@{#35871}
-Wno-undefined-var-template flag is unknown by Xcode's clang. And it is
better to use the same clang version that is used on linux.
BUG=
Review-Url: https://codereview.chromium.org/1926633004
Cr-Commit-Position: refs/heads/master@{#35867}
This adds ignition to the testing variants that are run on all
bots.
Failing tests can only be skipped with the NO_IGNITION
keyword in status files. Existing expectations for the
ignition_turbofan variant are all duplicated and use the
NO_IGNITION keyword as well now.
BUG=v8:4280
LOG=N
NOTRY=true
Review-Url: https://codereview.chromium.org/1804003002
Cr-Commit-Position: refs/heads/master@{#35865}
DevTools uses the debug interrupt to trap on function entry. Without
source position at the stack check, we would get bogus source positions.
R=mstarzinger@chromium.org
BUG=chromium:595646
LOG=N
Review-Url: https://codereview.chromium.org/1925063002
Cr-Commit-Position: refs/heads/master@{#35864}
- Move the check from the BytecodeArrayBuilder destructor, which doesn't get
called, to the ToBytecodeArray function.
- Remove the now empty destructor.
- For generators, bind unused resume point labels somewhere.
R=rmcilroy@chromium.org
BUG=
Review-Url: https://codereview.chromium.org/1924093005
Cr-Commit-Position: refs/heads/master@{#35862}
Further refactor the pipeline to even run the first scheduler (part of
the effect control linearization) concurrently. This temporarily
disables most of the write barrier elimination, but we will get back to
that later.
Review-Url: https://codereview.chromium.org/1926023002
Cr-Commit-Position: refs/heads/master@{#35861}
We effectively have 4 different cases to deal with, including the default, but on some platform where we emit the jump table inline (e.g. arm64) we end up emitting an unconditional jump to the same address 127 times.
BUG=
Review-Url: https://codereview.chromium.org/1765883002
Cr-Commit-Position: refs/heads/master@{#35859}
Flat cons-strings point directly to the internalized version of the string. This makes reinternalization much faster.
BUG=
Review-Url: https://codereview.chromium.org/1932663002
Cr-Commit-Position: refs/heads/master@{#35852}
Reason for revert:
Caused a performance regression in TurboFan and did not improve in a significant way Ignition's performances.
Original issue's description:
> [ignition] Inline the binary op TurboFan code stubs in the bytecode handlers.
>
> Adds a Generate method to the stubs that can be used to embed the graph directly in the bytecode handlers.
>
> Committed: https://crrev.com/e8caf78ff2a9f7d50ac9b47f6b4c80f92b69914a
> Cr-Commit-Position: refs/heads/master@{#35696}
TBR=bmeurer@chromium.org,rmcilroy@chromium.org,machenbach@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
Review-Url: https://codereview.chromium.org/1927873002
Cr-Commit-Position: refs/heads/master@{#35851}
This is a preparatory change to only use the class in question when
allocating a CompilationInfo on the C-heap for a compilation job. As a
next step we will make CompilationInfoWithZone disappear and make the
CompilationJob be the one C-heap allocated object.
R=bmeurer@chromium.org
Review-Url: https://codereview.chromium.org/1931573003
Cr-Commit-Position: refs/heads/master@{#35848}