- 10 May, 2021 1 commit
-
-
Clemens Backes authored
After updating our bots to use GCC 7.4, we do not need to support incomplete C++14 support any more. In particular, we can assume complete c++14 constexpr support now. This CL removes the V8_HAS_CXX14_CONSTEXPR and CONSTEXPR_DCHECK macros. The CONSTEXPR_DCHECKs are replaced by DCHECK and friend, or STATIC_ASSERT where possible. R=jgruber@chromium.org, leszeks@chromium.org, mlippautz@chromium.org Bug: v8:9686, v8:11384 Change-Id: I3a8769a0f54da7eb2cacc37ee23e5c97092e3051 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2876847Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74486}
-
- 18 Jan, 2021 1 commit
-
-
Clemens Backes authored
We are working on getting Liftoff feature complete. Eventually, bailout should only happen if experimental features are enabled. Until we are there, we also need to allow some more bailouts, which should be removed in the near future. This CL adds a check for expected bailout reasons. The new function serves as a burndown list of issues to be fixed. Drive-by: Make some methods constexpr such that they can be used in static assertions. R=ahaas@chromium.org Change-Id: I5d3cd8f49a30d01f89ac6cf5321e1314b63eba40 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2629513 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72127}
-
- 18 Jun, 2020 1 commit
-
-
Jakob Gruber authored
Introduced in https://crrev.com/c/2250243. CONSTEXPR_DCHECK(cond) replaces the longer #if V8_HAS_CXX14_CONSTEXPR DCHECK(cond); #endif pattern. Change-Id: I636e5b4b40bffb29b2e82c81285b2ef78a822745 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2250244Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68402}
-
- 26 Feb, 2020 5 commits
-
-
Clemens Backes authored
This is a reland of 0dc598df Original change's description: > [wasm] Refactor callback triggering > > 1) Instead of passing three boolean values to |TriggerCallbacks|, pass > one EnumSet which contains all events to trigger. > 2) Remember which events already happened, to avoid triggering them > again. > 3) Compute triggered events once after the loop in |OnFinishedUnits|, > instead of checking for every finished unit. > 4) When a new callback is registered, trigger all previous events > immediately. This solves issue v8:10217. > 5) Replace |NotifyTopTierReady| by |AddCallback| which is identical now. > 6) Do not call |OnFinishedJSToWasmWrapperUnits| if no wrappers were > compiled (this is a minor performance optimization; we save taking > and releasing a lock). > 7) Drive-by: Make the |EnumSet| constructor really constexpr (by making > |Mask| constexpr). > > R=ahaas@chromium.org > > Bug: v8:10217 > Change-Id: Ib3688a1687ad7b523e90efd73f4073e9f1193016 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072737 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66459} Bug: v8:10217 Change-Id: I9f7ca424fa7f1d0379dabe230bebf62522dfc857 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074501Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66468}
-
Clemens Backes authored
This reverts commit 0dc598df. Reason for revert: Fails the wasm-cache-test blink test. Original change's description: > [wasm] Refactor callback triggering > > 1) Instead of passing three boolean values to |TriggerCallbacks|, pass > one EnumSet which contains all events to trigger. > 2) Remember which events already happened, to avoid triggering them > again. > 3) Compute triggered events once after the loop in |OnFinishedUnits|, > instead of checking for every finished unit. > 4) When a new callback is registered, trigger all previous events > immediately. This solves issue v8:10217. > 5) Replace |NotifyTopTierReady| by |AddCallback| which is identical now. > 6) Do not call |OnFinishedJSToWasmWrapperUnits| if no wrappers were > compiled (this is a minor performance optimization; we save taking > and releasing a lock). > 7) Drive-by: Make the |EnumSet| constructor really constexpr (by making > |Mask| constexpr). > > R=ahaas@chromium.org > > Bug: v8:10217 > Change-Id: Ib3688a1687ad7b523e90efd73f4073e9f1193016 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072737 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66459} TBR=ahaas@chromium.org,clemensb@chromium.org Change-Id: I564b053e898db5f7b51cefa4626c0625a225c89a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10217 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074638Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66461}
-
Clemens Backes authored
1) Instead of passing three boolean values to |TriggerCallbacks|, pass one EnumSet which contains all events to trigger. 2) Remember which events already happened, to avoid triggering them again. 3) Compute triggered events once after the loop in |OnFinishedUnits|, instead of checking for every finished unit. 4) When a new callback is registered, trigger all previous events immediately. This solves issue v8:10217. 5) Replace |NotifyTopTierReady| by |AddCallback| which is identical now. 6) Do not call |OnFinishedJSToWasmWrapperUnits| if no wrappers were compiled (this is a minor performance optimization; we save taking and releasing a lock). 7) Drive-by: Make the |EnumSet| constructor really constexpr (by making |Mask| constexpr). R=ahaas@chromium.org Bug: v8:10217 Change-Id: Ib3688a1687ad7b523e90efd73f4073e9f1193016 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072737 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#66459}
-
Clemens Backes authored
This extends EnumSet by 1) adding element-wise operations (without first creating an EnumSet of that element in the caller), 2) adding arithmetic assignment operators, and 3) adding a subtraction operation which removes all elements in another EnumSet, or a single element. R=mlippautz@chromium.org Change-Id: Ibe694e9e111e506ad09cf9729fa0b0ba38430b79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071874 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66451}
-
Clemens Backes authored
EnumSet hold a single integral field, hence it should be passed by value. All users already do this, we are just inconsistent within the declaration of EnumSet itself. R=mlippautz@chromium.org Change-Id: Ic2cac35fbd8fe3e98c1fe135bd334547dca30ab5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071872Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66447}
-
- 26 Nov, 2019 1 commit
-
-
Clemens Backes authored
Make WasmFeatures a proper class which uses an EnumSet under the hood. This way, it inherits all behaviour of EnumSet like comparison, merge, etc. Accesses change from being simple field access into the struct to actually bit tests in the EnumSet. R=mstarzinger@chromium.org Bug: v8:10019 Change-Id: I768f92b90ac0294156f4482defba5ce00bc70165 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1934334 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65184}
-
- 16 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
After moving to its own header, this CL cleans up some parts of the interface. It fixes names and const-declarations of simple accessors, and adds a named constructor to make it explicit that an EnumSet should be constructed from an integral value. Also refactor the use in cctest.h to have less statically declared constants. Instead, just create the set of extensions in the individual tests. R=titzer@chromium.org Bug: v8:8562 Change-Id: I6178d1aba25afa1d7f54c29ccf81505c165e7cd3 Reviewed-on: https://chromium-review.googlesource.com/c/1409366 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58862}
-
- 15 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
EnumSet currently lives in src/utils.h, which is a conglomerate of many different helper functions and classes. In order to remove unneeded include, move the EnumSet to its own header. R=titzer@chromium.org Bug: v8:7490, v8:8562 Change-Id: I979814167e87b914e9807b03e342d8b34e514331 Reviewed-on: https://chromium-review.googlesource.com/c/1409430 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58818}
-