- 26 Jan, 2021 13 commits
-
-
Clemens Backes authored
On most platforms, we can do a single allocation for all code. On platforms where this is not possible (e.g. ARM64 has a 128MB code space limit), we will at least allocate big chunks instead of one chunk per function. This reduces overhead in {WasmCodeAllocator} for maintaining sets of used and available code space, and reduces locking during deserialization. In order to know how much code space to pre-allocate, the serializer writes out the total code space size. This is then used during deserialization to know how much code to expect. R=thibaudm@chromium.org Bug: v8:11164 Change-Id: If3846292544c7b6832b7a0b56357b74310f6fb23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2644942 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72317}
-
Michael Achenbach authored
This reverts commit fcf28e83. Reason for revert: Speculative revert since all gpu bots are failing: https://ci.chromium.org/p/v8/builders/ci/Linux%20V8%20FYI%20Release%20(NVIDIA)/13141 Original change's description: > [diagnostics] Enable logging for --perf-prof and --ll-prof. > > Change-Id: I09722d0ce372a825dfe454583da433b38cf4de60 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2647109 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> > Cr-Commit-Position: refs/heads/master@{#72311} TBR=cbruni@chromium.org,jgruber@chromium.org,pierre.langlois@arm.com Change-Id: I4f0fd218b707fd8eef9e1a5319d30012e76c88fd No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649036Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#72316}
-
Marja Hölttä authored
Details: https://docs.google.com/document/d/1-Gi37Ks7rXMVVRkC_HkwGxenP7T1huQUOMrYOtkUCFk/edit?usp=sharing Bug: v8:11340 Change-Id: Ia1d75270373a7ef2307e7ee0fd24da9ecfa27d18 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643381Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#72315}
-
Georg Neis authored
Change-Id: I702f8c021490f0538a98cad9a61b1dbae60fb881 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649027Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72314}
-
Jakob Gruber authored
.. which applied to the AssemblePopArgumentsAdaptorFrame function that no longer exists. Drive-by: Remove unused functions in mips, mips64. Bug: v8:11306 Change-Id: Ia47c4287a452afe0aea2be0902cb3adce15f02bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649029Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#72313}
-
Thibaud Michaud authored
The same bit field (MiscField) is currently used to encode either a SIMD lane size or a memory access mode depending on the instruction. For now this does not conflict, but in order to support protected loads and stores on arm64, we will need to add a protected access mode to some SIMD instructions that already encode a lane size (kArm64LoadSplat, kArm64LoadLane, kArm64StoreLane). To prepare for this, use non-overlapping bits of the Misc field to encode the two properties. R=zhin@chromium.org CC=ahaas@chromium.org Bug: v8:11098 Change-Id: I2320b2be74d023429f8b8c78a5736b13f53c0399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643390 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72312}
-
Pierre Langlois authored
Change-Id: I09722d0ce372a825dfe454583da433b38cf4de60 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2647109Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#72311}
-
Georg Neis authored
This reverts commit ec7e9a8d. Reason for revert: failure was due to a clang bug that is fixed in latest rolled clang. Original change's description: > [test] Disable cctest/test-loop-analysis/LaEdgeMatrix2_0 on ODROID > > Bug: chromium:1163847 > Change-Id: Iabb152cd1a5c04e2032cb1254d8b27ea081cbb27 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2614427 > Auto-Submit: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71952} TBR=machenbach@chromium.org,leszeks@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:1163847 Change-Id: Iba18918e8ceab166e7d5e9751e857f13142ed583 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2647153Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72310}
-
Milad Fa authored
Port 22e06c7b Original Commit Message: Factor out the code sequence into macro-assembler functions to be reused by Liftoff. R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com BUG= LOG=N Change-Id: I94d4c8ec8a374a030918c7781b5d4a40dc29091b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2648985Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#72309}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/710b42c..32fd3b2 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/13547b9..450b6b6 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/07bd252..1076f38 Rolling v8/tools/swarming_client: https://chromium.googlesource.com/infra/luci/client-py/+log/1a07271..a32a160 TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: Iaf9a49e55a724d28bf41f9fb0d510105462af385 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649237Reviewed-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@{#72308}
-
Daniel Clark authored
This change completes support for import assertions for dynamic import(). A new version of the HostImportModuleDynamically callback taking import assertions is added to the public API. The name is very verbose; we could consider removing the "ImportAssertions" part when the old API is removed. Bytecode generation is updated to pass the assertions, if present, to Runtime_DynamicImportCall. Isolate::RunHostImportModuleDynamicallyCallback extracts the assertions from the options bag, filters out the assertions not present in the list specified by the host in HostGetSupportedImportAssertions, and sorts them by code point order of the keys per https://tc39.es/proposal-import-assertions/#sec-import-call-runtime-semantics-evaluation. The resulting array is passed to the host in the callback. Bug: v8:10958 Change-Id: I931df00f954a9f9c65bff5bcf461ba1c8f11e94e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2620578 Commit-Queue: Dan Clark <daniec@microsoft.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#72307}
-
Shu-yu Guo authored
This CL implements the upcoming spec change: https://github.com/tc39/proposal-regexp-match-indices/pull/49 A new JSRegExpResultWithIndices subclass is introduced with a separate map and an extra slot for storing the indices. If /d is passed, exec() constructs a JSRegExpResultWithIndices and eagerly builds indices. The existing re-execution logic is removed. Bug: v8:9548 Change-Id: Ic11853e7521017af5e8bd583c7b82bb672821132 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2616873 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72306}
-
Zhi An Ng authored
This reverts commit 9c09c227. Reason for revert: gc stress failures https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/20563/overview Original change's description: > [wasm-simd] Merge all any_true to v128.any_true > > In https://github.com/WebAssembly/simd/pull/423, all any_true > instructions were removed, and replaced with a single v128.any_true. > > This patch removes all but v8x16.any_true, and renames it to > v128.any_true. > > Bug: v8:11331 > Change-Id: Ie394ec841a1a1c4030c4f589eac2cee8a6a2a1f9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639033 > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72304} TBR=neis@chromium.org,gdeepti@chromium.org,neis@google.com,zhin@chromium.org Change-Id: I52dbf8de679059dd7b17908c1fe3ada0eb54ff84 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11331 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649240Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72305}
-
- 25 Jan, 2021 27 commits
-
-
Ng Zhi An authored
In https://github.com/WebAssembly/simd/pull/423, all any_true instructions were removed, and replaced with a single v128.any_true. This patch removes all but v8x16.any_true, and renames it to v128.any_true. Bug: v8:11331 Change-Id: Ie394ec841a1a1c4030c4f589eac2cee8a6a2a1f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639033Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72304}
-
Frank Tang authored
Implement https://github.com/tc39/ecma402/pull/500 For the legacy [optional] Unwrap*Format steps, use OrdinaryHasInstance instead of InstanceofOperator. ECMA402 agree w/ PR500 on 2021-1-14 Bug: v8:10981 Change-Id: Ic697aa245b11fecaf998127c009e59a821aaa01e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2444092Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#72303}
-
Zhi An Ng authored
This reverts commit 5a0938e5. Reason for revert: Broke build https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8857098178780038608/+/steps/Check/0/logs/RunWasm_I32x4WidenI8x16S_liftoff/0 Original change's description: > [wasm-simd][x64] Prototype i32x4.widen_i8x16_{s,u} > > This prototypes i32x4.widen_i8x16_s and i32x4.widen_i8x16_u for x64. It > uses some masks and pshufb for the widening. These masks (3 for each > instruction) are stored as external references. > > Bug: v8:11297 > Change-Id: I6c8f55426bbb44b16ed552f393762c34c2524b55 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2617389 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72301} TBR=neis@chromium.org,gdeepti@chromium.org,neis@google.com,ahaas@chromium.org,zhin@chromium.org Change-Id: I83aa2e86854e39ac6afd250fdc0dfac7cdd99e6d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11297 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2648194Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72302}
-
Ng Zhi An authored
This prototypes i32x4.widen_i8x16_s and i32x4.widen_i8x16_u for x64. It uses some masks and pshufb for the widening. These masks (3 for each instruction) are stored as external references. Bug: v8:11297 Change-Id: I6c8f55426bbb44b16ed552f393762c34c2524b55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2617389 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72301}
-
Ng Zhi An authored
Factor out the code sequence into macro-assembler functions to be reused by Liftoff. Bug: v8:10975 Change-Id: I82e253c94e09bf62197e7de87359d0e3956d2dcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643662 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72300}
-
Daniel Clark authored
The change https://chromium-review.googlesource.com/c/v8/v8/+/2572173 implemented HostGetSupportedImportAssertions [1] in a fairly literal sense, where the host supplies a list of supported import assertions and V8 filters the import assertions in a ModuleRequest and exposes only supported assertions via its API surface. However, we've decided that the interop guarantees provided by doing the filtering in V8 are probably not worth the added complexity. Thus, this change removes the filtering. Going forward, hosts will be expected to ignore unknown asserions received from V8. This is mostly a revert of https://chromium-review.googlesource.com/c/v8/v8/+/2572173, with v8::Isolate::CreateParams::supported_import_assertions being kept for now (since we first have to delete the Blink code that sets it), and a new comment in v8.h instructing hosts to ignore unknown assertions. [1] https://tc39.es/proposal-import-assertions/#sec-hostgetsupportedimportassertions Bug: v8:10958 Change-Id: I7e8e2a7fbfe2d5bf891805cff6c3160d0e6825cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643563Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#72299}
-
Ng Zhi An authored
If a lazy compilation happens in between 2 Wasm calls, we need to save the full Q register, since we can have live v128 values. Bug: chromium:1161555 Change-Id: I7393d6fbf5133f635a8fd62cd394323d7018f090 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2645694Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72298}
-
Ng Zhi An authored
Prototype these 6 instructions on x64: - f64x2.convert_low_i32x4_s - f64x2.convert_low_i32x4_u - i32x4.trunc_sat_f64x2_s_zero - i32x4.trunc_sat_f64x2_u_zero - f32x4.demote_f64x2_zero - f64x2.promote_low_f32x4 Some of these code sequences make use of special masks, we keep them in external references. Code sequence based on suggestions at: https://github.com/WebAssembly/simd/pull/383 Bug: v8:11265 Change-Id: Ied67d7b5b6beaaccac7c179ec13504482cb9c915 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643562Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#72297}
-
Clemens Backes authored
For now, that flag only avoid the installation of the 'WebAssembly' global. Follow-up CLs will remove unneeded code from the binary if the gn arg is not set to true. R=ecmziegler@chromium.org, machenbach@chromium.org Bug: v8:11238, v8:11344 Change-Id: Ie95b608ed12b0476470cb552138e369f863d249b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2646833 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#72296}
-
Nico Hartmann authored
This CL makes direct heap access consistent with the serialized mode by correctly skipping optimizations if we encounter a FunctionTemplateInfo that is unknown to the broker, because we haven't seen it during serialization. Bug: chromium:1158322 Change-Id: I10ad6f307bbd5a17f27890390179bd9e2d35418c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639958Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#72295}
-
Junliang Yan authored
This fixes an issue on 64-bit big endian architectures as discussed in https://chromium-review.googlesource.com/c/v8/v8/+/2603925, where stack slots always have the system pointer size, even with pointer compression enabled. Bug: chromium:1052746 Change-Id: I84030ba8bcde71cb1768bd7286314cf09c4dc640 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2645721Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#72294}
-
Gus Caplan authored
Bug: v8:9871 Change-Id: I4084771cfc4d34f8e1b9d5265e115f9eac1098d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2646165Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Gus Caplan <snek@chromium.org> Cr-Commit-Position: refs/heads/master@{#72293}
-
Ng Zhi An authored
Change-Id: Ie4b673d7f56a62528c288c4684f8cc9822277587 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461065Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#72292}
-
Clemens Backes authored
There is no reason to allocate the vectors on the heap. Their content will be heap-allocated anyway, and they are cheap to move around. Drive-by: Remove an unused counter. R=thibaudm@chromium.org Bug: v8:11164 Change-Id: I5660ecf5db7e8915a27255bae0215d5368c7d10e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2644937 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72291}
-
Santiago Aboy Solanes authored
Also access the DescriptorArray through GetPropertyDetails concurrently if the FLAG_turbo_direct_heap_access is on. Bug: v8:7790 Change-Id: I13d12786399443ca1590dd87da7f371720acaa18 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640421 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#72290}
-
Dan Elphick authored
This reverts commit df5854c9. Reason for revert: The v8-gn.h header file seems to be inconsistently rebuilt sometimes causing build failures: https://bugs.chromium.org/p/v8/issues/detail?id=11341 Original change's description: > Reland "[build] Enable external flag header by default" > > This is a reland of d1da9694 > > Relanding now that fixes for perfetto and cppgc are in: > https://chromium-review.googlesource.com/c/v8/v8/+/2640458 > https://chromium-review.googlesource.com/c/v8/v8/+/2640480 > > Original change's description: > > [build] Enable external flag header by default > > > > Turns on v8_generate_external_defines_header. > > > > Bug: v8:11292 > > Change-Id: I4b1d9b47390b560b7cbf677948310694d8b03367 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2610966 > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > Auto-Submit: Dan Elphick <delphick@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#72201} > > Bug: v8:11292 > Change-Id: Ia47eeb6c45f4cc3db72c10782d677b69506fa3d6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642249 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72226} TBR=rmcilroy@chromium.org,delphick@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:11292, v8:11341 Change-Id: I00719689e7a184e74699d074a01c10b4f462e553 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2647259Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#72289}
-
Clemens Backes authored
We did spawn exactly one task for each of copy&reloc and publishing. Those tasks did block until work is available. This can block background threads which could otherwise execute other component's work. Switching to the Job API allows us to easily avoid that blocking, and just respawning a task when more work is available. Is always avoid code duplication for participating in the work in the main thread. Instead we just {Join()} the existing job, which makes the current thread participate in work. For now, both Jobs set a maximum concurrency of one, so the main thread will only do work if no background thread is currently running. This can be lifted in a follow-up CL to see the performance impact of both changes independently. R=thibaudm@chromium.org Bug: v8:11164 Change-Id: I032153eb933648a750b113f5d766feb85b87070a 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/+/2643393Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72288}
-
Manos Koukoutos authored
According to the latest wasm-gc spec, the type immediate for the argument's heap type is no longer required. This CL also adds a missing check that the rtt immediate is a subtype of the argument's type. Bug: v8:7742 Change-Id: I627002d1c4bdb4ca3f2181d2f4b659ce3e95cb2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642246 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#72287}
-
Igor Sheludko authored
This is a reland of 0ce0d934 This is a clean reland. The test failure on GC stress bot seems to be related to GC timing and --stress-flush-bytecode. Original change's description: > [classes] Make sure parent classes are never turned to setup mode > > It doesn't make sense in general and moreover an attempt to do so might > cause hard stack overflow. > > Bug: v8:11317 > Change-Id: I2a6bbadba1ebc5c1496660c734df76a13600edac > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643389 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72275} Tbr: verwaest@chromium.org Bug: v8:11317 Change-Id: Ic73efff7d9690c0edf7fa07b8b90691e9775a748 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642461 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#72286}
-
Michael Lippautz authored
This allows embedders to specialize MakeGarbageCollectedTrait and still get the static_asserts applied automatically, which avoids bypassing the type constraints. Bug: chromium:1056170 Change-Id: Ib24f8c6f5d8fb5ef1af4ca1af798f955fa253ba0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2647257 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72285}
-
Clemens Backes authored
Since snapshotting returns a vector of code pointers, we should add them so the surrounding {WasmCodeRefScope}, to make sure that they are not being garbage-collected while the serializer reads them. This is unlikely to happen, since serialization is only triggered once top-tier compilation is finished, and we usually do not garbage-collect top-tier code, but in rare circumstances (e.g. in debugging), it could theoretically happen. R=ahaas@chromium.org Change-Id: Ie1a9654a8a1467c12e42181776cec1dad7366036 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2644944Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72284}
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: If639b12e1cceec2d27355bb4cbf8c1fefa8b5038 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642462 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72283}
-
Camillo Bruni authored
- Use movl which clears the upper 32bits on x64 - Use xorl + movb for Smi.ptr values <= 0xFF, saving one byte over movl Change-Id: Iacdacfbe397670667e71d1d12ef427a01994481d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642250 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#72282}
-
Mythri A authored
Functions that get hot quickly are more likely to stay hot and stable, so optimize these functions earlier than the function that become hot slower. To measure how "soon" the function gets hot this cl introduces a global tick that is incremented whenever a function registers a tick. We use the difference in the global tick between the current tick and the last tick on that function to measure how soon the function is becoming hot. We use the last tick to account for functions that aren't used so much at the start but become hot in a later phase. Currently we use this heuristic only for Turboprop tierups. It is possible to extend this to extend this to Turbofan in future. Bug: v8:9684 Change-Id: I8ef265c03520274c68d56a9d35429531a3ba3d1d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2627850 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#72281}
-
Igor Sheludko authored
This reverts commit 0ce0d934. Reason for revert: Causes failures on GC stress bots. Original change's description: > [classes] Make sure parent classes are never turned to setup mode > > It doesn't make sense in general and moreover an attempt to do so might > cause hard stack overflow. > > Bug: v8:11317 > Change-Id: I2a6bbadba1ebc5c1496660c734df76a13600edac > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643389 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72275} TBR=ishell@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. No-Tree-Checks: true Bug: v8:11317 Change-Id: I524ce6dfee219180f36302edc94b8935c91f21dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642458 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#72280}
-
Shu-yu Guo authored
This reverts commit 46628795. Reason for revert: Compat breakage Bug: chromium:1170196 Original change's description: > Ship the relative indexing method `.at` > > I2S with LGTMs: > https://groups.google.com/a/chromium.org/g/blink-dev/c/I8S78w7aFmE/m/qLHAcjhRCQAJ > > v8: 10961 > Change-Id: If0440c0595823c61352f144c1fc29c54a1175623 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2574716 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71619} TBR=marja@chromium.org,syg@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I2384af84100dcf8cb27f10c5d055d7f864ebcbb9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2646139Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#72279}
-
Jakob Gruber authored
The final CL of this chain, this extracts translation opcodes into the TranslationOpcode class, and merges logic for TranslationArray creation into TranslationArrayBuilder. Drive-by: Pull TranslationArray printing logic into translation-state.cc. Bug: v8:11332 Change-Id: Ia4bbb6cdd15ea3318dfb9b7edb6eb881530dda54 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642254 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#72278}
-