- 30 Jul, 2021 1 commit
-
-
Clemens Backes authored
pthread_rwlock_t can deadlock on Mac if signals are sent to the process in the wrong moment. Since we use processes e.g. for sampling profiling (in both d8 and in Chrome), we hence cannot safely use pthread_rwlock_t on Mac. Instead, fall back to a non-shared pthread_mutex_t. Interestingly, this shows no measurable performance impact in Wasm compilation on my MBP. R=mlippautz@chromium.org Bug: v8:11399 Change-Id: Ie8bfd5288bba8c4f3315ee4502b39b59d39c9bbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060480Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76015}
-
- 29 Jul, 2021 1 commit
-
-
Thibaud Michaud authored
The JS API constructor was renamed to "WebAssembly.Tag" to match the spec: https://github.com/WebAssembly/exception-handling/issues/159 Rename "exception" to "tag" throughout the codebase for consistency with the JS API, and to match the spec terminology (e.g. "tag section"). R=clemensb@chromium.org,nicohartmann@chromium.org Bug: v8:11992 Change-Id: I63f9f3101abfeefd49117461bd59c594ca5dab70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3053583Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75994}
-
- 28 Jul, 2021 1 commit
-
-
Benedikt Meurer authored
Previously we'd report all property edges with symbol names as <symbol>, which was not very useful, especially with private class fields now seeing more adoption. Fixed: chromium:1232467 Change-Id: I53cf0811c4b83d016b988b687c6decbddd3c2fdd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3055309 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#75962}
-
- 26 Jul, 2021 1 commit
-
-
Peter Kasting authored
Bug: chromium:1203071 Change-Id: I09724552731594ddf18358d29cdc243cb696652d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3053617Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Kasting <pkasting@chromium.org> Cr-Commit-Position: refs/heads/master@{#75929}
-
- 23 Jul, 2021 3 commits
-
-
Vicky Kontoura authored
This CL adds support for classes with methods. More specifically: - A new ValueSerializer is added and classes are serialized separetely from functions, although the common parts are handled in the same way and abstracted away. - The function prototype is serialized as an object and any missing information is set up again during deserialization. - FunctionFlagsToFunctionKinds() is updated to allow for more function kinds. - Context serialization is updated to support serializing BlockContexts and creating ScopeInfos of type CLASS_SCOPE. - Map serialization is updated to support properties with custom attributes. Bug: v8:11525, v8:11706 Change-Id: I16ca7cbc17b1811721081cda05124ce36073f9be Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3006416 Commit-Queue: Vicky Kontoura <vkont@google.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#75893}
-
Paolo Severini authored
Enabling --turbo-optimize-apply breaks tests because we are passing the wrong receiver; in JSCallReducer::ReduceCallOrConstructWithArrayLikeOrSpread we create a Call node with the wrong ConvertReceiverMode, we pass kNullOrUndefined while it should be kAny. This may break calls to API or in general calls to functions that use the receiver. Bug: chromium:1231108, v8:9974 Change-Id: Ib35a1bf8746ad254b6d63274f3ae11b12aa83de8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3043690 Commit-Queue: Paolo Severini <paolosev@microsoft.com> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75886}
-
Maya Lekova authored
This is a reland of 84d5b027 It removes support for 8-byte types which were causing unaligned reads. Original change's description: > [fastcall] Implement support for TypedArray arguments > > This CL adds TypedArrays as supported arguments for fast API calls. > It implements "exact type" matching, i.e. if Float32Array is expected > and e.g. Int32Array is passed instead, the generated code bails to the > slow callback. > > Bug: chromium:1052746, chromium:1018624 > Change-Id: I01d4e681d2b367cbb57b06effcb591c090a23295 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999094 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75756} Bug: chromium:1052746, chromium:1018624 Change-Id: I872716d95bde8c340cf04990a3e4ae8ec8cd74a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3035090Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#75877}
-
- 22 Jul, 2021 1 commit
-
-
Camillo Bruni authored
* Avoid accessing thread_local_top directly and use getters: - scheduled_exception - pending_exception - pending_message * Rename pending_message_obj to pending_message Bug: chromium:1014421 Change-Id: I080b7d5919e180a943776c79ee9321235d58d3c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3010278Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75864}
-
- 20 Jul, 2021 1 commit
-
-
Jakob Kummerow authored
Hashing FunctionSigs can be quite expensive for large modules; luckily in some cases we can avoid doing that work. Change-Id: Ia18060b4c27ab34b44bda4bb81ea05299ecb0f49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3038523 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75819}
-
- 19 Jul, 2021 1 commit
-
-
Jakob Gruber authored
This wraps up the transition away from kSerialized ref kinds. Since JSFunctionRef is a complex type, we don't attempt full consistency on the background thread. Instead, we serialize functions on the background in a partially-racy manner, in which consistency between different JSFunction fields is *not* guaranteed. Consistency is later verified through a new compilation dependency kind during finalization. Bug: v8:7790, v8:12004 Change-Id: Ic2b78af9c9fe183c8769d323132bb304b151dc75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968404 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#75789}
-
- 16 Jul, 2021 3 commits
-
-
Maya Lekova authored
This reverts commit 84d5b027. Reason for revert: Breaks UBSan - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/17349/overview Original change's description: > [fastcall] Implement support for TypedArray arguments > > This CL adds TypedArrays as supported arguments for fast API calls. > It implements "exact type" matching, i.e. if Float32Array is expected > and e.g. Int32Array is passed instead, the generated code bails to the > slow callback. > > Bug: chromium:1052746, chromium:1018624 > Change-Id: I01d4e681d2b367cbb57b06effcb591c090a23295 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999094 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75756} Bug: chromium:1052746, chromium:1018624 Change-Id: I998afe766330f90efc878faa0e9546e709ddc4be No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3035088 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75758}
-
Maya Lekova authored
This CL adds TypedArrays as supported arguments for fast API calls. It implements "exact type" matching, i.e. if Float32Array is expected and e.g. Int32Array is passed instead, the generated code bails to the slow callback. Bug: chromium:1052746, chromium:1018624 Change-Id: I01d4e681d2b367cbb57b06effcb591c090a23295 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999094 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75756}
-
Clemens Backes authored
Just like many other operations implemented in elements.cc, copyWithin also needs to use relaxed atomics if operating on a shared array buffer to avoid races with other threads. Since the ranges can overlap, this CL also adds a {Relaxed_Memmove} function that either copies forwards (like {Relaxed_Memcpy}) or backwards depending on the ordering of source and destination. R=leszeks@chromium.org Bug: chromium:1221035 Change-Id: I76b7e43810ac9b85f4ff9abbc5a0406618771c25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3032084Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75752}
-
- 15 Jul, 2021 1 commit
-
-
Clemens Backes authored
This removes the low-level {SwitchMemoryPermissionsToWritable()} and {SwitchMemoryPermissionsToExecutable()} functions. They are only used in tests and can be replaced by {CodeSpaceWriteScope} objects that we also use in production. R=jkummerow@chromium.org Change-Id: I7ba702c836f3ac2dd7c7a81d6362040b28e8bef4 Cq-Include-Trybots: luci.v8.try:v8_mac_arm64_rel_ng Cq-Include-Trybots: luci.v8.try:v8_mac_arm64_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3024150 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75739}
-
- 14 Jul, 2021 1 commit
-
-
Emanuel Ziegler authored
This is a reland of dcdaf42f. It adds CPU time metrics to the WasmModuleDecoded (except for streaming), WasmModuleCompiled and WasmModuleTieredUp events. This can later be used to provide this information as UKMs or UMAs. Bug: v8:11611 Change-Id: I813fc8de36d1445c6a887abf496ec10e1a803815 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953296Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#75715}
-
- 13 Jul, 2021 2 commits
-
-
Mike Stanton authored
Added a parameter to Object::FitsRepresentation() to disallow coercion. Normally, when we ask if a Smi can "fit" into a Double representation we'd answer yes, because the Smi can be converted to a HeapNumber. However, from the compilers perspective, the object is found in a field with a particular representation. In this case, finding a Smi in a field with representation Double means something is awry. Therefore, it's useful for the compiler to be able to ask if the object fits the field without coercion. Bug: chromium:1227324, v8:7790 Change-Id: I12033736030d904ef9c29516c07999600a5f508a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015570 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75706}
-
Lu Yahan authored
- Implement f32/f64 fcopysign - Implement f32/f64 type conversion - enable some test cases that now pass. Change-Id: Ia36299484adac885349df25d7c233dd7e43dded4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992914 Auto-Submit: Yahan Lu <yahan@iscas.ac.cn> Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn> Cr-Commit-Position: refs/heads/master@{#75690}
-
- 12 Jul, 2021 1 commit
-
-
Andrew Comminos authored
Now that code entries outlive our CodeMap, it's safe to avoid storing CodeMap metadata after the last active profiler stops. This simplifies lifecycle logic, and avoids retaining stale data. Bug: v8:11054 Change-Id: If30fc0835e2033b5bcca204565e05a5cba7823ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3000526 Commit-Queue: Andrew Comminos <acomminos@fb.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#75689}
-
- 09 Jul, 2021 1 commit
-
-
Dominik Inführ authored
Bug: v8:11966 Change-Id: I3e5fe6e9d53938793c7f66cd05b4dcfe3073c22f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015568Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#75652}
-
- 08 Jul, 2021 3 commits
-
-
Patrick Thier authored
This is a reland of 819c3ae2 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6 > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1 > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645}
-
Clemens Backes authored
Trap handling is not implemented yet for memory64. Make sure that no code tries to use it, by setting {NativeModule::bounds_checks_} accordingly. This requires some changes to tests to make sure that the {WasmModule::is_memory64} field is set before creating the corresponding {NativeModule}. R=ahaas@chromium.org Bug: v8:10949 Change-Id: I11d9544b603fc471e3368bb4e7487da4711293a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011167Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75632}
-
Leszek Swirski authored
This reverts commit 819c3ae2. Reason for revert: Sorry Patrick, still failing on some layout tests :( https://test-results.appspot.com/data/layout_results/mac-rel/726365/blink_web_tests%20%28retry%20shards%20with%20patch%29/layout-test-results/results.html Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6 > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1 > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I7d7c0f201288384c2aa38a51418b582a64213ae0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013352 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75626}
-
- 07 Jul, 2021 4 commits
-
-
Peter Kasting authored
Bug: chromium:989932 Change-Id: I357a19a9da934f07181122bbf50614ccddce3a4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3009926 Auto-Submit: Peter Kasting <pkasting@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#75612}
-
Dominik Inführ authored
This CL implements GC in a shared heap. A shared GC is started from an attached client isolate that fails to allocate a shared object. In order to perform a shared GC all other running client isolates need to be stopped and their roots need to be scanned. Bug: v8:11708 Change-Id: I45ac50e6b4a1e9270f9e39b69f9b8ee5e6e14134 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964816Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#75606}
-
Patrick Thier authored
This is a reland of 8b18c5e6 Original change's description: > Reland "Improve error messages for property access on null/undefined" > > This is a reland of 24c626c1 > > Original change's description: > > Improve error messages for property access on null/undefined > > > > Only print the property name when accessing null/undefined if we can > > convert it to a string without causing side effects. > > If we can't, omit the property name in the error message. > > This should avoid confusion when the key is an object with toString(). > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > Object]' anymore, which was misleading since the property accessed would > > be 'a', but we can't evaluate the key without side effects. > > > > Bug: v8:11365 > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75250} > > Bug: v8:11365 > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75571} Bug: v8:11365 Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 Auto-Submit: Patrick Thier <pthier@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#75604}
-
Clemens Backes authored
The {TestingModuleBuilder} had separate logic to compute the bounds checking strategy. This can lead to compiled code that does not match the bounds checking strategy stored in the NativeModule. Hence, tests should use {NativeModule::bounds_checks_} for initializing their compilation environment. R=ahaas@chromium.org Change-Id: I366c2ea5d06062273fa21e388871fc1adab54fef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3009222Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75601}
-
- 06 Jul, 2021 3 commits
-
-
Mike Stanton authored
TurboFan reads the value in HeapNumber, and TSAN detects a data race between this read and sets on the main thread elsewhere. We mark this as relaxed atomic (meaning, correct value of the read is not guaranteed). The compiler uses the dependency mechanism to re-read the value safely on the main thread later, and aborts compilation if a change is detected. Bug: chromium:1224277, v8:7790 Change-Id: I8931d8989812550c0c57b6bd27aa796f6f5e779d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2996201Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#75586}
-
Leszek Swirski authored
This reverts commit 8b18c5e6. Reason for revert: Still failing: https://test-results.appspot.com/data/layout_results/V8_Blink_Linux/12469/blink_web_tests%20%28retry%20shards%20with%20patch%29/layout-test-results/results.html Original change's description: > Reland "Improve error messages for property access on null/undefined" > > This is a reland of 24c626c1 > > Original change's description: > > Improve error messages for property access on null/undefined > > > > Only print the property name when accessing null/undefined if we can > > convert it to a string without causing side effects. > > If we can't, omit the property name in the error message. > > This should avoid confusion when the key is an object with toString(). > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > Object]' anymore, which was misleading since the property accessed would > > be 'a', but we can't evaluate the key without side effects. > > > > Bug: v8:11365 > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75250} > > Bug: v8:11365 > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75571} Bug: v8:11365 Change-Id: Ic4137f0d70fa9b10ca70fa921b98ea7e1499f11b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008217 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75577}
-
Patrick Thier authored
This is a reland of 24c626c1 Original change's description: > Improve error messages for property access on null/undefined > > Only print the property name when accessing null/undefined if we can > convert it to a string without causing side effects. > If we can't, omit the property name in the error message. > This should avoid confusion when the key is an object with toString(). > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > Object]' anymore, which was misleading since the property accessed would > be 'a', but we can't evaluate the key without side effects. > > Bug: v8:11365 > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Patrick Thier <pthier@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75250} Bug: v8:11365 Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75571}
-
- 05 Jul, 2021 2 commits
-
-
Clemens Backes authored
This is a three-state field now: kTrapHandler, kExplicitBoundsChecks, kNoBoundsChecks. It is set once based on the flags (--wasm-bounds-checks and --wasm-enforce-bounds-checks) and depending on whether the signal handler for wasm trap handling was installed. All compilation then only uses the field value, and does not need to check any flags any more. R=ahaas@chromium.org Bug: v8:11926 Change-Id: I2c0eb5ecb742ee65d1c10e4dceff7204119dab7c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2996191 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75558}
-
Thibaud Michaud authored
This is a reland of b0bcedcc Changes: - Consistently use int32_t for max_steps and nondeterminism - Skip SIMD tests on architectures that don't support it Original change's description: > [wasm][liftoff][ia32][x64] Detect SIMD NaNs for fuzzing > > R=clemensb@chromium.org > > Bug: v8:11856 > Change-Id: I9764e3e2944690ed0883afdab20afd47fdd4acfa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979605 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75512} Bug: v8:11856 Change-Id: I0a7858d1c21c0dfb961b9b2c3fa1074f9362886a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3001178Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#75557}
-
- 02 Jul, 2021 2 commits
-
-
Zhi An Ng authored
This reverts commit 92bfb63c. Reason for revert: Broke build https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20shared/43249/overview Original change's description: > [build] Separate out inspector as a shared library > > This makes src/inspector:inspector into a v8_component producing a > shared library in component builds. To enable this, all of its exported > are now marked with V8_INSPECTOR_EXPORT. > > This also inverts the dependency between src/inspector:inspector and > :v8_base_without_compiler, and instead makes d8 and some tests depend on > inspector rather than getting it via v8. > > As a result, the no_check_targets exclusions list in .gn is reduced. > > Ultimately embedders like chromium should depend on :v8 and optionally > src/inspector:inspector, but to allow that transition to occur, this > renames :v8 to :v8_lib and introduces a new :v8 which depends on v8 and > inspector. Once all embedders have changed to reflect the new structure, > this part can be reverted. > > Bug: v8:11917 > Change-Id: Ia8b15f07fb15acc5e1f111b1a80248def4285fd0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999088 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75532} Bug: v8:11917 Change-Id: I0ed27ed95211d13b8b3438a8c0a42d577806c475 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3003452 Auto-Submit: Zhi An Ng <zhin@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75533}
-
Dan Elphick authored
This makes src/inspector:inspector into a v8_component producing a shared library in component builds. To enable this, all of its exported are now marked with V8_INSPECTOR_EXPORT. This also inverts the dependency between src/inspector:inspector and :v8_base_without_compiler, and instead makes d8 and some tests depend on inspector rather than getting it via v8. As a result, the no_check_targets exclusions list in .gn is reduced. Ultimately embedders like chromium should depend on :v8 and optionally src/inspector:inspector, but to allow that transition to occur, this renames :v8 to :v8_lib and introduces a new :v8 which depends on v8 and inspector. Once all embedders have changed to reflect the new structure, this part can be reverted. Bug: v8:11917 Change-Id: Ia8b15f07fb15acc5e1f111b1a80248def4285fd0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999088Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75532}
-
- 01 Jul, 2021 6 commits
-
-
Toon Verwaest authored
Splits FLAG_lazy into - FLAG_lazy for main-thread compiled scripts/modules - FLAG_lazy_streaming for streamed scripts - FLAG_lazy_eval for eval This allows us to evaluate the impact of non-lazy compilation for streamed scripts. Change-Id: I8a362ea184e0afd3aa7cdb11a7eab5b7497a4691 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999090Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#75518}
-
Zhi An Ng authored
This reverts commit b0bcedcc. Reason for revert: fails nosse3 checks Original change's description: > [wasm][liftoff][ia32][x64] Detect SIMD NaNs for fuzzing > > R=clemensb@chromium.org > > Bug: v8:11856 > Change-Id: I9764e3e2944690ed0883afdab20afd47fdd4acfa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979605 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75512} Bug: v8:11856 Change-Id: I19a159281f8e6ffc3dd77f35dbdf852bd032c2bc No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3000723 Auto-Submit: Zhi An Ng <zhin@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75515}
-
Manos Koukoutos authored
Changes: - Use a lightweight WasmElemSegment::Entry struct to store element segment entries in a WasmModule. - Also, restructure LoadElemSegmentImpl to handle all types of global.get entries correctly. - Simplify InitializeIndirectFunctionTables and make it handle all types of entries correctly. - In the above two cases, reject WasmJSFunctions for now. Bug: v8:11895 Change-Id: Ie714f8c7f1af8959486138d2ad49bc622a89276d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2991248 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75513}
-
Thibaud Michaud authored
R=clemensb@chromium.org Bug: v8:11856 Change-Id: I9764e3e2944690ed0883afdab20afd47fdd4acfa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979605Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#75512}
-
Peter Kasting authored
There are still a few cases remaining that seem more controversial; I'll upload those separately. Bug: chromium:1066980 Change-Id: Iabbaf23f9bbe97781857c0c589f2b3db685dfdc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2994804 Commit-Queue: Peter Kasting <pkasting@chromium.org> Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#75494}
-
Liu Yu authored
Fix a offset error, this is related to commit 38fb1487 Delete cctest/test-run-machops/StackSlotAlignment, this is related to commit a58f812c Change-Id: I3ef1b96d8a3bdba530200cbac4f7a062496ace59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2994813Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Auto-Submit: Liu yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/master@{#75493}
-
- 30 Jun, 2021 1 commit
-
-
Manos Koukoutos authored
This is a reland of 071a1acf Changes compared to original: Expect SIMD test to fail if SIMD is not supported. Original change's description: > [wasm] Refactor initializer expression handling > > Design doc: https://bit.ly/3xPxWUe > > This CL introduces two main changes: > - Initializer expressions are now decoded by WasmFullDecoder. With > wasm-gc, initializer expressions are no longer just constants, and > require complex decoding (including stack tracking). This resulted in > extensive code duplication. > - Initializer expressions are not stored explicitly by module-decoder as > an AST (WasmInitExpr), but rather as a WireBytesRef, and are decoded > again during module instantiation. This should reduce memory > consumption for globals and other module elements with initializer > expressions (which has been observed in the 40MB range in some > real-world benchmarks. > > Summary of changes: > - Add a static parameter {kFunctionBody, kInitExpression} to the > WasmDecoder. Use it to specialize validation to function bodies/init. > expressions. > - Introduce a new Interface for the WasmFullDecoder for init. > expressions. > - Differentiate between constant and non-constant opcodes in > WasmFullDecoder. > - Change representation of init. expressions in WasmModule to > WireBytesRef. > - Reimplement EvaluateInitExpression in module-instantiate to re-decode > initializer expressions. > - Remove some now-invalid module decoder tests. > > Pending changes: > - Also refactor initializer expressions for element segment entries. > - Reintroduce deleted tests. > > Bug: v8:11895 > Change-Id: I76512bfe1386c8338667d30fa6db93880a1e4b42 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972910 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75476} Bug: v8:11895 Change-Id: I2dface5ff28d5a2d439a65d3e5cb83135c061bb9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2997722 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75492}
-