Commit Graph

63938 Commits

Author SHA1 Message Date
Clemens Backes
f7d169c600 Reland "[wasm][fuzzer] Fix exception detection"
This is a reland of 899cb34868.
The new fuzzer regression test is skipped in jitless.

Original change's description:
> [wasm][fuzzer] Fix exception detection
>
> Exceptions were detected by checking for a pending exception on the
> isolate, but {CallWasmFunctionForTesting} was clearing any pending
> exception before returning.
> This CL fixes that by explicitly passing back a boolean which is set if
> an exception occurred during execution.
>
> R=ahaas@chromium.org
>
> Bug: chromium:1115280
> Change-Id: Ife71ceef0751d18e0870335b9520c2bf77e351cc
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352787
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69404}

Bug: chromium:1115280
Change-Id: I9bb7300d423c53214e51e61233b0a6b09a21fd97
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2361464
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69446}
2020-08-18 09:00:05 +00:00
Almothana Athamneh
7c8379223d Add team members as owners
Change-Id: I711d2b8e67ad80731b805353520988f796d6a95d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358678
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69445}
2020-08-18 08:29:04 +00:00
Ulan Degenbaev
d1070e417f [inspector] Make collectGarbage of HeapProfiler precise
Instead of forcing GC right away, the function now post a task and
performance GC from the task with an empty stack to avoid false positive
pointers in conservative stack scanning.

Bug: chromium:1098187
Change-Id: I88864845a1e395056c5d5f6e867ad774b87dbb6a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307217
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69444}
2020-08-18 07:24:14 +00:00
Martin Bidlingmaier
12b88d87d9 Add test variant for experimental regexp engine
R=jgruber@chromium.org

Tbr: tmrts@chromium.org
Bug: v8:10765
Change-Id: I4c36614ef897c811cd4331802ad8ea5c90c5fd47
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2345228
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69443}
2020-08-18 07:06:54 +00:00
Martin Bidlingmaier
46bf70a567 [regexp] Prototype new linear time EXPERIMENTAL regexp engine
This adds the new JsRegExp::Type EXPERIMENTAL, which should eventually
be implemented with the algorithm based on automata. Currently the new
engine deals with plain search strings only, i.e. regexps that do not
contain operators or escape sequences.

R=jgruber@chromium.org

Bug: v8:10765
Change-Id: I6a10d9cdf4605d219dbe7cc1989df3bfa7349ff8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339094
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69442}
2020-08-18 05:51:24 +00:00
Dominik Inführ
491f979424 [heap] Start StressConcurrentAllocatorTask through AllocationObserver
Starting the task right on NotifyDeserializationComplete() turned out
to be too early for some tests. So let an AllocationObserver start
the stress allocation after deserialization is finished.

Bug: v8:10315
Change-Id: I00a4294add5ec87074f9e775c602b3031cc16d58
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358735
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69441}
2020-08-18 05:33:24 +00:00
v8-ci-autoroll-builder
7b7fbff4f6 Update V8 DEPS.
Rolling v8/build: 939db33..13765d6

Rolling v8/third_party/aemu-linux-x64: zCy9vIuheNK--OaT_8WBj3IbVxW_RuxRLMp8KWTLqzIC..p5IjOVYEoaWHNJ28H6OKk3LlpDPCUruvOahozwiZAIgC

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/5abddab..03f5451

Rolling v8/third_party/depot_tools: 3bd3c99..5664586

Rolling v8/third_party/zlib: 7492de9..d53accf

Rolling v8/tools/clang: 361d367..7c75562

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: Idbf0b55b91374c8edda27e7ff5a2648c1747e926
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360749
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#69440}
2020-08-18 04:12:24 +00:00
Ng Zhi An
360c9294a8 [wasm-simd] Support returning Simd128 on caller's stack
In Liftoff, we were missing kS128 cases to load to/from stack.

For the x64 and ARM64 instruction selector, the calculation of
reverse_slot is incorrect for 128-bit values:

- reverse_slot += 2 (size of 128-bit values, 2 pointers)
- this copies from slot -2 into register
- but the value starts at slot -1, it occupies slots -1 and -2
- we end up copying slot -2 (most significant half) of the register, and
also slot -3, which is where rsi was store (Wasm instance addr)
- the test ends up with a different result every time

The calculation of reverse_slot is changed to follow how ia32 and ARM
does it, which is to start with

- reverse_slot = 0
- in the code-generator, add 1 to the slot
- then after emitting Peek operation, reverse_slot += 2

The fixes for x64 and ARM64 are in both instruction-selector and
code-generator.

ia32 and ARM didn't support writing kSimd128 values yet, it was only a
missing check in code-generator, so add that in.

For ARM, the codegen is more involved, vld1 does not support addressing
with an offset, so we have to do the addition into a scratch register.

Also adding a test for returning multiple v128. V128 is not exposed to
JavaScript, so we use a Wasm function call, and then an involved chain
of extract lanes, returning 6 i32 which we verify the values of. It
extracts the first and last lane of the i32x4 value in order to catch
bugs where we write or read to a wrong stack slot (off by 1).

The simd-scalar-lowering for kCall was only handling single s128 return,
we adopt the way i64-lowering handles kCall, so that is can now handle
any kinds of calls with s128 in the descriptor.

Bug: v8:10794
Bug: chromium:1115230
Change-Id: I2ccdd55f6292bc5794be78053b27e14da8cce70e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2355189
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69439}
2020-08-17 20:59:54 +00:00
Francis McCabe
a575608555 Revert "Reland^3 "[flags] warn about contradictory flags""
This reverts commit dc18b82221.

Reason for revert: still causing failures: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31566

Original change's description:
> Reland^3 "[flags] warn about contradictory flags"
> 
> This is a reland of 0ba115e6a9
> Changes:
> - Also allow second parameter influenced by --cache to be reassigned.
> - Fix --stress-opt to only --always-opt in the last iteration as before.
> 
> Original change's description:
> > Reland^2 "[flags] warn about contradictory flags"
> >
> > This is a reland of d8f8a7e210
> > Change compared to last reland:
> > - Do not check for d8 flag contradictions in the presence of --fuzzing
> > - Allow identical re-declaration of --cache=*
> >
> > Original change's description:
> > > Reland "[flags] warn about contradictory flags"
> > >
> > > This is a reland of b8f9166664
> > > Difference to previous CL: Additional functionality to specify
> > > incompatible flags based on GN variables and extra-flags, used
> > > to fix the issues that came up on the waterfall.
> > >
> > > This also changes the rules regarding repeated flags: While
> > > explicitly repeated flags are allowed for boolean values as long
> > > as they are identical, repeated flags or explicit flags in the
> > > presence of an active implication are disallowed for non-boolean
> > > flags. The latter simplifies specifying conflict rules in
> > > variants.py. Otherwise a rule like
> > >
> > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = {
> > >   "--gc-interval=*": ["--gc-interval=*"],
> > > }
> > >
> > > wouldn't work because specifying the same GC interval twice
> > > wouldn't actually count as a conflict. This was an issue with
> > > test/mjsunit/wasm/gc-buffer.js, which specifies
> > > --gc-interval=500 exactly like the extra flag by the stress bot.
> > >
> > > Also, this now expands contradictory flags checking to d8 flags
> > > for consistency.
> > >
> > > Original change's description:
> > > > [flags] warn about contradictory flags
> > > >
> > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/
> > > >
> > > > Bug: v8:10577
> > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792
> > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> > > > Reviewed-by: Georg Neis <neis@chromium.org>
> > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
> > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > > > Cr-Commit-Position: refs/heads/master@{#68168}
> > >
> > > Bug: v8:10577
> > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341
> > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115
> > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
> > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > > Reviewed-by: Georg Neis <neis@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#68989}
> >
> > Bug: v8:10577
> > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464
> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#69339}
> 
> Bug: v8:10577
> Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
> Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
> Change-Id: I4a69dc57a102782cb453144323e3752ac8278624
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770
> Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69433}

TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org

Change-Id: I4ccdd7b931d0ddccbcec1d6cfae8d4874ee49cfc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:10577
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360414
Reviewed-by: Francis McCabe <fgm@chromium.org>
Commit-Queue: Francis McCabe <fgm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69438}
2020-08-17 19:34:18 +00:00
Francis McCabe
7a5d72d36f Revert "[csa][cleanup] Remove ParameterMode/TNodify IntPtrOrSmiConstant"
This reverts commit 0fe7a6cf62.

Reason for revert: Causing tree to fail: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31566

Original change's description:
> [csa][cleanup] Remove ParameterMode/TNodify IntPtrOrSmiConstant
> 
> Bug: v8:9708, v8:6949
> Change-Id: I0a17eab689d8297218af92658bf5e63d34c94dfc
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356387
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69435}

TBR=rmcilroy@chromium.org,solanes@chromium.org

Change-Id: Ie816bffee696bb03cf26e195405f0fe8509dd0f3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9708
Bug: v8:6949
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360048
Reviewed-by: Francis McCabe <fgm@chromium.org>
Commit-Queue: Francis McCabe <fgm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69437}
2020-08-17 17:55:35 +00:00
Santiago Aboy Solanes
4ca68db1bd [csa][cleanup] Remove ParameterMode versions of parameter casting
Removed all uses of ParameterToTagged and TaggedToParameter but
forgot to remove the method themselves.

Bug: v8:9708, v8:6949
Change-Id: I8718a0739ce81ca42546125fac765618e0208cb2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356388
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69436}
2020-08-17 16:38:45 +00:00
Santiago Aboy Solanes
0fe7a6cf62 [csa][cleanup] Remove ParameterMode/TNodify IntPtrOrSmiConstant
Bug: v8:9708, v8:6949
Change-Id: I0a17eab689d8297218af92658bf5e63d34c94dfc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356387
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69435}
2020-08-17 16:26:13 +00:00
Marja Hölttä
615a355e47 [Atomics.waitAsync] Fix a potential deadlock situation
The deadlock occurs because of cyclical "first mutex1, then mutex2"
mutex locking patterns between 3 mutexes: the futex-emulation mutex, the
gc mutex and the isolate break_access mutex.

The fix is to not allocate memory while holding the futex-emulation
mutex. This breaks the cycle.

Bug: v8:10239, v8:10800
Change-Id: Ifbb693549a28db11d8affc56de0bbed3ef0dd701
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356345
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69434}
2020-08-17 16:23:33 +00:00
Tobias Tebbi
dc18b82221 Reland^3 "[flags] warn about contradictory flags"
This is a reland of 0ba115e6a9
Changes:
- Also allow second parameter influenced by --cache to be reassigned.
- Fix --stress-opt to only --always-opt in the last iteration as before.

Original change's description:
> Reland^2 "[flags] warn about contradictory flags"
>
> This is a reland of d8f8a7e210
> Change compared to last reland:
> - Do not check for d8 flag contradictions in the presence of --fuzzing
> - Allow identical re-declaration of --cache=*
>
> Original change's description:
> > Reland "[flags] warn about contradictory flags"
> >
> > This is a reland of b8f9166664
> > Difference to previous CL: Additional functionality to specify
> > incompatible flags based on GN variables and extra-flags, used
> > to fix the issues that came up on the waterfall.
> >
> > This also changes the rules regarding repeated flags: While
> > explicitly repeated flags are allowed for boolean values as long
> > as they are identical, repeated flags or explicit flags in the
> > presence of an active implication are disallowed for non-boolean
> > flags. The latter simplifies specifying conflict rules in
> > variants.py. Otherwise a rule like
> >
> > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = {
> >   "--gc-interval=*": ["--gc-interval=*"],
> > }
> >
> > wouldn't work because specifying the same GC interval twice
> > wouldn't actually count as a conflict. This was an issue with
> > test/mjsunit/wasm/gc-buffer.js, which specifies
> > --gc-interval=500 exactly like the extra flag by the stress bot.
> >
> > Also, this now expands contradictory flags checking to d8 flags
> > for consistency.
> >
> > Original change's description:
> > > [flags] warn about contradictory flags
> > >
> > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/
> > >
> > > Bug: v8:10577
> > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab
> > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792
> > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> > > Reviewed-by: Georg Neis <neis@chromium.org>
> > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
> > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#68168}
> >
> > Bug: v8:10577
> > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115
> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > Reviewed-by: Tamer Tas <tmrts@chromium.org>
> > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > Reviewed-by: Georg Neis <neis@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#68989}
>
> Bug: v8:10577
> Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464
> Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69339}

Bug: v8:10577
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
Change-Id: I4a69dc57a102782cb453144323e3752ac8278624
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69433}
2020-08-17 15:59:43 +00:00
Santiago Aboy Solanes
46dac207a5 [csa][cleanup] Remove ParameterMode/TNodify array allocation methods
* AllocateFixedArray
* GetArrayAllocationSize
* GetFixedArrayAllocationSize

Bug: v8:9708, v8:6949
Change-Id: I30c810d49a4b5b2f5782a66f17061a0cf8737bcf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356348
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69432}
2020-08-17 15:39:03 +00:00
Almothana Athamneh
23ea6c6605 Add "test262" to mac_arm64 bots
Bug: chromium:1113183
Change-Id: I0715257b5e929ae6877e1d031138ec24d2789c29
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358732
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69431}
2020-08-17 15:37:58 +00:00
Marja Hölttä
97846e0357 [Atomics.waitAsync] Add regression test
Bug: v8:10239, chromium:1115354
Change-Id: I64b028b383dcff1e4224c945ee1f982d1979eb9d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354813
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69430}
2020-08-17 15:36:53 +00:00
Santiago Aboy Solanes
47636f1823 [csa][cleanup] Remove ParameterMode/TNodify size check methods
Do:
  * FixedArraySizeDoesntFitInNewSpace
  * GotoIfFixedArraySizeDoesntFitInNewSpace

Bug: v8:9708, v8:6949
Change-Id: Ic76b6b98620e6fcec9b13a940c51a36616c21a56
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356347
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69429}
2020-08-17 15:30:43 +00:00
Georg Neis
fe3b24a68d [runtime] Make Code::SourcePositionTableIfCollected() read only once
Bug: v8:7790
Change-Id: I8160a3729fcff8037e83eb4566e15b6b0f42781f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358736
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69428}
2020-08-17 15:17:03 +00:00
Seth Brenith
2f80953131 Reland "[regalloc] Place spill instructions optimally"
This is a reland of f4548e7598

Original change's description:
> [regalloc] Place spill instructions optimally
>
> Design doc:
> https://docs.google.com/document/d/1n9ADWnDI-sw0OvdSmrthf61prmDqbDmQq-NSrQw2MVI/edit?usp=sharing
>
> Most of this change follows directly what is discussed in the design
> document. A few other things are also changed:
>
> - PopulateReferenceMapsPhase is moved after ResolveControlFlowPhase so
>   that it can make use of the decision regarding whether a value is
>   spilled at its definition or later.
> - SpillSlotLocator is removed. It was already somewhat confusing,
>   because the responsibility for marking blocks as needing frames was
>   split: in some cases they were marked by SpillSlotLocator, and in
>   other cases they were marked by CommitSpillsInDeferredBlocks. With
>   this change, that split responsibility would become yet more
>   confusing if we kept SpillSlotLocator for the values that are spilled
>   at their definition, so I propose a simpler rule that whatever code
>   adds the spill move also marks the block.
> - A few class definitions (LiveRangeBound, FindResult,
>   LiveRangeBoundArray, and LiveRangeFinder) are moved without
>   modification from register-allocator.cc to register-allocator.h so
>   that we can refer to them from another cc file.
>
> Bug: v8:10606
> Change-Id: I374a3219a5de477a53bc48117e230287eae89e72
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2285390
> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69345}

Bug: v8:10606
Change-Id: I10fc1ef4b0bebb6c9f55ebdefe33e8c1e5646f0a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352483
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69427}
2020-08-17 14:37:33 +00:00
Leszek Swirski
f5051f02d7 [offthread] Enable off-thread logging
Enable logging script events and code position events during a
background compile. This isn't technically thread-safe, but neither
are the existing logger accesses in the parser, so something has to
be done here in general.

Bug: chromium:1011762
Change-Id: I3b610c3bb146880ef826928b6f341f402ca6247e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162853
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69426}
2020-08-17 13:47:54 +00:00
Emanuel Ziegler
4c153339e5 [ukm][wasm] Add event WasmModuleDecoded
Add an event for recording metrics related to decoding Wasm modules.

R=clemensb@chromium.org

Bug: chromium:1092417
Change-Id: Id60560d8eb8c14edb5b863857b18c1c82f48e7e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351672
Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69425}
2020-08-17 12:44:33 +00:00
Yuki Shiino
5488d2dbd8 minor tidy up of v8/include/v8.h
Moves a forward declaration of v8::CFunction to the appropriate
position.

Change-Id: I9ea8c7697a0abd39a0c8fdc536aae0417e04cafe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2359091
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69424}
2020-08-17 12:25:13 +00:00
Maya Lekova
5f298b96da Revert "[wasm] Map JS_TO_WASM frame marker to proper frame type"
This reverts commit 8984a2584b.

Reason for revert: Breaks GC stress custom snapshot bot - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/32681

Original change's description:
> [wasm] Map JS_TO_WASM frame marker to proper frame type
> 
> Bug: v8:10701
> Change-Id: Ic924352195076c9cdc6a2b5f20cd75a1dcc489df
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2355950
> Commit-Queue: Eva Herencsárová <evih@google.com>
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69421}

TBR=jkummerow@chromium.org,ahaas@chromium.org,thibaudm@chromium.org,evih@google.com

Change-Id: Iabc9de9fa1f1478369bf6a7dde77e661d8467542
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:10701
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358677
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69423}
2020-08-17 12:05:06 +00:00
Emanuel Ziegler
189dc5ac93 [ukm] Some fixes to the metrics recording framework
Some fixes that were required to make the metric recording framework run
better:
  - Set the foreground task runner later so it can still be modified in
    test cases
  - Add Start and Stop methods to TimedScope for more control
  - Clear map of contexts explicitly to avoid it being triggered at the
    end of the destructor when counters are already destroyed and a
    SEGFAULT may occur due to histogram updates during destruction of
    the weak persistent handles.

R=rmcilroy@chromium.org

Bug: chromium:1101749
Change-Id: Ib41c7aeb1aac96f0fa102f0fceadbf7ec2dd78dc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351668
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69422}
2020-08-17 11:58:03 +00:00
evih
8984a2584b [wasm] Map JS_TO_WASM frame marker to proper frame type
Bug: v8:10701
Change-Id: Ic924352195076c9cdc6a2b5f20cd75a1dcc489df
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2355950
Commit-Queue: Eva Herencsárová <evih@google.com>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69421}
2020-08-17 11:37:53 +00:00
Dominik Inführ
d75753f8f7 [heap] Support removing of observers during Step()
Allow AllocationObserver::Step to remove allocation observers as well.
They could already add new observers (to start incremental marking),
removing will be used when starting StressConcurrentAllocator from
an allocation observer.

Bug: v8:10315
Change-Id: I823ded2f9a408b3fa5269ee8416060d0cabb3162
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2357690
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69420}
2020-08-17 10:42:32 +00:00
Thibaud Michaud
20728eeb09 [wasm] Disable multi-value
Temporarily disable multi-value until the launch is approved.

R=ahaas@chromium.org

Bug: chromium:1097717
Change-Id: Ifb2370d87ec5e531257852bc5fc5259386a022d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358675
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69419}
2020-08-17 10:33:42 +00:00
Santiago Aboy Solanes
ae5b624ee9 [compiler] Remove BytecodeArrayData's source_positions
We can bypass the data() and do a direct access read.

Bug: v8:7790
Change-Id: Id1d5b4ad9dcde1673fae07a076ad11322da4c724
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358730
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69418}
2020-08-17 10:15:52 +00:00
Jakob Kummerow
aefbcbdd72 [cleanup] Consistent comments on namespace ends
This is a comment-only CL.

Change-Id: I002b1765bfa839982ab11c22f744734fdd34d4ce
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352788
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69417}
2020-08-17 10:09:02 +00:00
Leszek Swirski
367cef2027 [print] Add external string prefix to string print
Change-Id: I86d8b2046a0809287be31172ec261e4679da66f2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358731
Commit-Queue: Marja Hölttä <marja@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69416}
2020-08-17 09:55:27 +00:00
Zeynep Cankara
c5f952dc45 [tools][system-analyzer] Fix Layout and Remove Scrollbars
This CL changes min/max of panel sizes for a better user
experience. Additionally, removes the scroll bars while
keeping the scroll functionality to alleviate the
cluttered view.

Bug: v8:10644

Change-Id: Ib95ed79dd58dbcd6b1932eb366f9d2177407c853
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2356346
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#69415}
2020-08-17 09:54:22 +00:00
Santiago Aboy Solanes
677a02d285 [compiler] Don't serialize BytecodeArrayData's bytecodes_
object() is already a canonical persistent handle so we can use that.

The necessary *Ref methods can be changed to bypass the data() and do
the direct access into the bytecodes. Then, we can safely eliminate
the bytecodes_ member.

Bug: v8:7790
Change-Id: I84302e02bcb37ce1f4cd345b15ebadc0528a7028
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2288865
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69414}
2020-08-17 09:37:12 +00:00
Z Nguyen-Huu
2287499841 Reland "Improve NumberToString when cache miss and Smi"
This is a reland of 1b35c0fa15

Reason for revert: Seems to reliably break a numerics test:
https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31516

It was really slow and timeout with debug build run this test
mjsunit/math-exp-precision with --optimize-for-size because we resize
cache in CSA. Default this to runtime would avoid the timeout.

Also with --optimize-for-size, we don't have enough space to allocate
full-size cache so avoid to resize cache in this case.

In my local PC, time for this test decreases as follows.
Before: 52s
After: 3s

Original change's description:
> Improve NumberToString when cache miss and Smi
>
> Cache miss was handled in runtime before. This change add fast path for
> Smi in this case.
>
> Perf show 30% improvement for the following example.
> Before 67 ms
> After 42 ms
>
> const start = new Date();
> const MAX = 1000000;
> for (var i = 0; i < MAX; i++) {
>     i.toString();
> }
> const end = new Date();
> console.log("Time :"+ (end-start));
>
> Change-Id: I162e9c35f58551ca6a5a0efe79fb7c7b482a8594
> Bug: v8:10477
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332866
> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69362}

Bug: v8:10477
Change-Id: I892a9007210032640d0bf22e61c8e7ad1a4377c4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351398
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69413}
2020-08-17 08:38:52 +00:00
Georg Neis
bd094d0d12 [turbofan] Don't crash while printing static assert failure
We want to crash after printing :)

Change-Id: Ia739b54655e9cbce56b4f774ef6af1a771db4c1f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358674
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Auto-Submit: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69412}
2020-08-17 06:43:32 +00:00
v8-ci-autoroll-builder
0510c7a67a Update V8 DEPS.
Rolling v8/build: e7ee57c..939db33

Rolling v8/tools/clang: 93f80bc..361d367

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: Ib0b75df46bca0c7fe2076c5180ffca097dfbbb79
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2359268
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#69411}
2020-08-17 03:43:20 +00:00
v8-ci-autoroll-builder
d4641e6cc1 Update V8 DEPS.
Rolling v8/build: 055e1ba..e7ee57c

Rolling v8/tools/clang: 724075d..93f80bc

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I04b90882754a1fc75c224ae44706a3120a725e37
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2359261
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#69410}
2020-08-16 19:57:10 +00:00
v8-ci-autoroll-builder
347b6e2101 Update V8 DEPS.
Rolling v8/build: c843282..055e1ba

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/69d9325..5abddab

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I2e4b9ecb0b219910f4d5a9a9aaa3b95e56550699
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2359253
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#69409}
2020-08-16 03:38:10 +00:00
v8-ci-autoroll-builder
87b7b2bfea Update V8 DEPS.
Rolling v8/build: 7dff8d4..c843282

Rolling v8/third_party/aemu-linux-x64: NHKI_hy9EiYHTk25-SwU9lqq_Nmk1LQ748n-ZAtBu9YC..zCy9vIuheNK--OaT_8WBj3IbVxW_RuxRLMp8KWTLqzIC

Rolling v8/third_party/android_platform: 5edcbfd..fc6c684

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c4d3ff4..69d9325

Rolling v8/third_party/depot_tools: 0fa91d0..3bd3c99

Rolling v8/third_party/fuchsia-sdk: 8ce2286..6a38b0e

Rolling v8/third_party/instrumented_libraries: bb3f180..3c52ccd

Rolling v8/third_party/jinja2: 3f90fa0..61cfe2a

Rolling v8/third_party/markupsafe: 8f45f5c..f2fb0f2

Rolling v8/tools/clang: 6b794b9..724075d

TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: Ia6dc928e4d92d83fb7245bccad96d09312ea89c8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2358554
Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#69408}
2020-08-15 03:58:28 +00:00
Frank Tang
c7cbf91115 Simplified Segmenter remove unused method.
Bug: v8:6891
Change-Id: I3552afff9cd6f065aba82eddcf3f4719ee1283e9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2353414
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69407}
2020-08-15 03:30:18 +00:00
Shu-yu Guo
c084bd93a5 [atomics] Fix PPC/MIPS/S390 builds in Atomics builtins
Bug: v8:10687, v8:9921
Change-Id: I7a81e9f9882c9a50d8ca70690e2ea409dc5c6c2f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2357169
Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com>
Reviewed-by: Ben Smith <binji@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69406}
2020-08-14 19:44:47 +00:00
Bill Budge
a2268e6e2a Revert "[wasm][fuzzer] Fix exception detection"
This reverts commit 899cb34868.

Reason for revert: Added regression test fails on Arm Sim:
https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm%20-%20sim%20-%20lite/11584

Original change's description:
> [wasm][fuzzer] Fix exception detection
> 
> Exceptions were detected by checking for a pending exception on the
> isolate, but {CallWasmFunctionForTesting} was clearing any pending
> exception before returning.
> This CL fixes that by explicitly passing back a boolean which is set if
> an exception occurred during execution.
> 
> R=​ahaas@chromium.org
> 
> Bug: chromium:1115280
> Change-Id: Ife71ceef0751d18e0870335b9520c2bf77e351cc
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352787
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69404}

TBR=ahaas@chromium.org,clemensb@chromium.org

Change-Id: I1d3c0e57df7ec25b09f2037c31c9b30eb0866548
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1115280
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2357189
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69405}
2020-08-14 18:31:28 +00:00
Clemens Backes
899cb34868 [wasm][fuzzer] Fix exception detection
Exceptions were detected by checking for a pending exception on the
isolate, but {CallWasmFunctionForTesting} was clearing any pending
exception before returning.
This CL fixes that by explicitly passing back a boolean which is set if
an exception occurred during execution.

R=ahaas@chromium.org

Bug: chromium:1115280
Change-Id: Ife71ceef0751d18e0870335b9520c2bf77e351cc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352787
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69404}
2020-08-14 18:15:47 +00:00
Manos Koukoutos
dd152527d6 [wasm-gc] Implement call_ref, return_call_ref, add some basic tests
Drive-by: Add flag implications for wasm experimental features:
  gc -> typed_funcref, typed_funcref -> reftypes.

Bug: v8:9495
Change-Id: Ia6054886935d68e79b8f463289aa9e1e9d6484f2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352777
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69403}
2020-08-14 17:58:27 +00:00
Santiago Aboy Solanes
3380977d5e [csa][cleanup] Remove ParameterMode/TNodify CopyFixedArrayElements
Bug: v8:9708, v8:6949
Change-Id: Iabe48b5c667f1073a0f521cb22627a22f2415199
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2353459
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69402}
2020-08-14 17:12:59 +00:00
Santiago Aboy Solanes
c92de6a373 [csa][cleanup] Remove ParameterMode/TNodify ExtractToFixedArray
Bug: v8:9708, v8:6949
Change-Id: I3d1bcf144c69a736b19b845d89e34af9bf15f5f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352786
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69401}
2020-08-14 16:06:39 +00:00
Almothana Athamneh
f5c83e20e8 Create a full debug builder on V8 for mac-arm64
Bug: chromium:1113183
Change-Id: I5f2b965f13db15b87d6b6194ccb64093a0b81fe8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2355947
Reviewed-by: Liviu Rau <liviurau@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69400}
2020-08-14 15:25:19 +00:00
Zeynep Cankara
06bc338772 [system-analyzer] Fix chunk positions and update panels via FocusEvent
This CL fixes the chunk locations on timeline-tracks.
The App updates the Ic panel upon receiving FocusEvent with
an entry of ICLogEvent.

Bug: v8:10644

Change-Id: I4d09851c154196cc6cb1544a275ed33c8ae8a8af
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354814
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69399}
2020-08-14 13:32:26 +00:00
Ulan Degenbaev
8e8f4c8314 Reland "[inspector] Ensure progress of default task runners in inspector tests"
This is a reland of a7eff8cbbf

Sheriffs: This CL effectively enables GC for inspector tests. It may
uncover bugs in the existing inspector tests. If that happens please
disable the failing test in test/inspector/inspector.status instead of
reverting this CL. See https://crbug.com/v8/10748.

Original change's description:
> [inspector] Ensure progress of default task runners in inspector tests
>
> Bug: v8:10747, chromium:1098187
> Change-Id: I0215d2d85db4dd1d7fa376a0982cda5658f1683d
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2315982
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Peter Marshall <petermarshall@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69387}

Bug: v8:10747
Bug: chromium:1098187
Change-Id: Iab8f10b0535b0f35948fb507537f2bf65af5f33a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354815
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69398}
2020-08-14 12:26:28 +00:00
Leszek Swirski
f1589bbe11 [offthread] Change OffThreadIsolate to LocalIsolate
This patch introduces a new LocalIsolate and LocalFactory, which use
LocalHeap and replace OffThreadIsolate and OffThreadFactory. This allows
us to remove those classes, as well as the related OffThreadSpace,
OffThreadLargeObjectSpace, OffThreadHeap, and OffThreadTransferHandle.
OffThreadLogger becomes LocalLogger.

LocalHeap behaves more like Heap than OffThreadHeap did, so this allows
us to additionally remove the concept of "Finish" and "Publish" that the
OffThreadIsolate had, and allows us to internalize strings directly with
the newly-concurrent string table (where the implementation can now move
to FactoryBase).

This patch also removes the off-thread support from the deserializer
entirely, as well as removing the LocalIsolateWrapper which allowed
run-time distinction between Isolate and OffThreadIsolate. LocalHeap
doesn't support the reservation model used by the deserializer, and we
will likely move the deserializer to use LocalIsolate unconditionally
once we figure out the details of how to do this.

Bug: chromium:1011762

Change-Id: I1a1a0a72952b19a8a4c167c11a863c153a1252fc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2315990
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69397}
2020-08-14 10:57:27 +00:00