- 20 Feb, 2019 1 commit
-
-
Clemens Hammacher authored
This introduces a new {base::SharedMutex}, which mimics {std::shared_mutex}, available in C++17. It is being used for synchronizing the WebAssembly background compile tasks. This removes a lot of unnecessary contention, leading to synchronization of background tasks that should be able to run in parallel ideally. Locally, this reduces Liftoff compilation time by more than 20 percent. R=mstarzinger@chromium.org, mlippautz@chromium.org Bug: chromium:924956 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Change-Id: I8c522faf385149bfe2cf00d777a7942c537f9cd2 Reviewed-on: https://chromium-review.googlesource.com/c/1477731 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59729}
-
- 19 Feb, 2019 1 commit
-
-
Clemens Hammacher authored
Since the comments are copied from the std types anyway, we should also point to them to make clear that the semantic is intentially equivalent. Also, remove two unused methods and avoid an unneeded nullptr check. R=mlippautz@chromium.org Bug: v8:8834 Change-Id: Idcb5a1b8b2b3bb0786807828a96e085df963a8f0 Reviewed-on: https://chromium-review.googlesource.com/c/1477224Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59692}
-
- 14 Feb, 2019 1 commit
-
-
Hannu Trey authored
Add an enum argument to DateTimeConfigurationChangeNotification to control whether or not to redetect the host time zone. The default value kSkip doesn't cause redetecting so that callers do not need to change if they want the current behavior (e.g. Chromium). Note that the host time zone detection does not work when v8 is run inside a sandbox as in Chromium so that Chromium detects the host time zone outside the sandbox before calling DateTimeConfigurationChangeNotification. OTOH, other v8 embedders may find it more convenient for v8 to do the host time zone detection on their behalf. In that case, they can call the function with the new argument set to value kRedetect. Test: With PHP+V8Js on linux, execute: php -r ' putenv("TZ=Europe/Helsinki"); $v8 = new V8Js(); $v8->executeString("print((new Date(0)).toString()+\"\\n\");"); putenv("TZ=America/New_York"); $v8->executeString("print((new Date(0)).toString()+\"\\n\");");' Result before modification: Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Result after modification: Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Result after V8JS is modified to use value kRedetect when calling Thu Jan 01 1970 02:00:00 GMT+0200 (Eastern European Standard Time) Wed Dec 31 1969 19:00:00 GMT-0500 (Eastern Standard Time) DateTimeConfigurationChangeNotification: Change-Id: I005192dd42669a94f606a49baa9eafad3475b9fd Reviewed-on: https://chromium-review.googlesource.com/c/1449637Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jungshik Shin <jshin@chromium.org> Commit-Queue: Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59613}
-
- 13 Feb, 2019 1 commit
-
-
Nico Weber authored
For macros expanding to function definitions, I removed the spurious ; after macro invocations. For macros expandign to function declarations, I made the ; required and consistently inserted it. No behavior change. Bug: chromium:926235 Change-Id: Ib8085d85d913d74307e3481f7fee4b7dc78c7549 Reviewed-on: https://chromium-review.googlesource.com/c/1467545Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59558}
-
- 08 Feb, 2019 1 commit
-
-
Gus Caplan authored
This is a reland of d7def900 Original change's description: > Reland "[builtins] [turbofan] Refactor Float64Pow to use single implementation" > > This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23 > > Original change's description: > > [builtins] [turbofan] Refactor Float64Pow to use single implementation > > > > Remove platform-specific Float64Pow implementations and utils Pow in > > favor of a base::ieee754::pow implementation. > > > > This unifies the implementation of pow for the compiler, wasm, and > > runtime. > > > > Bug: v8:5848, v8:5086 > > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23 > > Reviewed-on: https://chromium-review.googlesource.com/c/1403018 > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#59229} > > Bug: v8:5848, v8:5086 > Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e > Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/1447854 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59411} Tbr: neis@chromium.org, bmeurer@chromium.org, jkummerow@chromium.org Bug: v8:5848, v8:5086 Change-Id: I42972b29b8830ed47a00b2b1d408d3005a810c0e Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1456302Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59454}
-
- 06 Feb, 2019 2 commits
-
-
Sigurd Schneider authored
This reverts commit d7def900. Reason for revert: Breaks UBSan: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20UBSan/4542 Besides undefined behavior, things were looking good! Original change's description: > Reland "[builtins] [turbofan] Refactor Float64Pow to use single implementation" > > This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23 > > Original change's description: > > [builtins] [turbofan] Refactor Float64Pow to use single implementation > > > > Remove platform-specific Float64Pow implementations and utils Pow in > > favor of a base::ieee754::pow implementation. > > > > This unifies the implementation of pow for the compiler, wasm, and > > runtime. > > > > Bug: v8:5848, v8:5086 > > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23 > > Reviewed-on: https://chromium-review.googlesource.com/c/1403018 > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#59229} > > Bug: v8:5848, v8:5086 > Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e > Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/1447854 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59411} TBR=jkummerow@chromium.org,jarin@chromium.org,neis@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org,me@gus.host Change-Id: I65c4bbd3ab7aaa1c396d182467c5a1fe6a639df5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5848, v8:5086 Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1456107Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59419}
-
Gus Caplan authored
This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23 Original change's description: > [builtins] [turbofan] Refactor Float64Pow to use single implementation > > Remove platform-specific Float64Pow implementations and utils Pow in > favor of a base::ieee754::pow implementation. > > This unifies the implementation of pow for the compiler, wasm, and > runtime. > > Bug: v8:5848, v8:5086 > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23 > Reviewed-on: https://chromium-review.googlesource.com/c/1403018 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59229} Bug: v8:5848, v8:5086 Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1447854 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59411}
-
- 31 Jan, 2019 2 commits
-
-
Georg Neis authored
This reverts commit 595aafeb. Reason for revert: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8922824501209195616/+/steps/Mozilla/0/logs/15.8.2.13/0 Original change's description: > [builtins] [turbofan] Refactor Float64Pow to use single implementation > > Remove platform-specific Float64Pow implementations and utils Pow in > favor of a base::ieee754::pow implementation. > > This unifies the implementation of pow for the compiler, wasm, and > runtime. > > Bug: v8:5848, v8:5086 > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23 > Reviewed-on: https://chromium-review.googlesource.com/c/1403018 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59229} TBR=yangguo@chromium.org,jarin@chromium.org,neis@chromium.org,clemensh@chromium.org,me@gus.host Change-Id: I266df4b8350cfcebcea8f6063ad75ad962381105 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5848, v8:5086 Reviewed-on: https://chromium-review.googlesource.com/c/1447715Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59232}
-
Clemens Hammacher authored
Remove platform-specific Float64Pow implementations and utils Pow in favor of a base::ieee754::pow implementation. This unifies the implementation of pow for the compiler, wasm, and runtime. Bug: v8:5848, v8:5086 Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23 Reviewed-on: https://chromium-review.googlesource.com/c/1403018 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#59229}
-
- 28 Jan, 2019 4 commits
-
-
Jakob Kummerow authored
The workaround is simple: cast to unsigned before shifting. Bug: v8:3770 Change-Id: I5f0f7af697ec5db0ab1df3d061008940c83c5c56 Reviewed-on: https://chromium-review.googlesource.com/c/1436215Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#59140}
-
Wez authored
The ZX_VM_FLAG_PERM_* names have been deprecated in favour of the ZX_VM_PERM_* form, and will shortly be removed from the Fuchsia SDK. Bug: chromium:925597 Change-Id: Ic05912cbf9758915e1bc97c41c682aee028a3b5d Reviewed-on: https://chromium-review.googlesource.com/c/1437817Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#59138}
-
Irina Yatsenko authored
If running under debugger: 1. Output from _v8_internal_Print_Object into debugger's command window 2. Break into debugger before aborting Change-Id: I49e4d83c817e6588c4679c9fb9766602927542db Reviewed-on: https://chromium-review.googlesource.com/c/1435771 Commit-Queue: Irina Yatsenko <irinayat@microsoft.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59137}
-
Anton Bikineev authored
The ToDateString builtin now uses StringStream to format dates instead of SNPrintF. The patch also implements a new allocator based on SSO that's able to expand automatically. Bug: v8:7770 Change-Id: I23e03ec06fcfc7bda1e5abb1ac82637e5c9ddc95 Reviewed-on: https://chromium-review.googlesource.com/c/1425905 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59119}
-
- 22 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Fix some by removing (unnecessarily) implicitly declared constructors and assignment operators. String16 constructors and assignment operators can just be defaulted, and declared in the header. This fixes the last complaints of the new presubmit check. R=mlippautz@chromium.org, yangguo@chromium.org, leszeks@chromium.org Bug: v8:8616 Change-Id: Idae7031b88b793253b63488c52f757513711ed73 Reviewed-on: https://chromium-review.googlesource.com/c/1417173Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59004}
-
- 21 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
This current fails, since {mmap} fails with EINVAL for empty mappings. The destructor already has special handling for a {nullptr} mapping, so we can just use {nullptr} for empty files. We get a similar error on windows, and can fix it the same way. On order to make presubmit checks happy, we have to skip copyright checking and checking for terminating newlines for empty files. R=mlippautz@chromium.org Change-Id: I2b73da7ff6df72d8bdd40df1fff6422e0a46881e Reviewed-on: https://chromium-review.googlesource.com/c/1424861Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58970}
-
- 18 Jan, 2019 1 commit
-
-
Igor Sheludko authored
Bug: v8:8477, v8:8562 Change-Id: Ieb677e0989f77ed207567d468faec0bf92752967 Reviewed-on: https://chromium-review.googlesource.com/c/1388529Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58922}
-
- 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}
-
- 14 Jan, 2019 2 commits
-
-
Matthew Dempsky authored
Fuchsia VMOs will be non-executable by default in the future (SEC-42), so we'll need to use zx_vmo_replace_as_executable to make it possible to map them into memory as executable. And in the mean time, this call is a no-op. SEC-42 TBR: mlippautz Change-Id: I4521559b163519ded4afa6b55e99f983e38b1de5 Reviewed-on: https://chromium-review.googlesource.com/c/1281824Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Wez <wez@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#58804}
-
Adam Klein authored
This way we're not down to a single OWNER while hpayer is unavailable. Change-Id: Ic6a2b86a684b159d6349b39bf2ba0719672a5aaf Reviewed-on: https://chromium-review.googlesource.com/c/1407238Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#58803}
-
- 10 Jan, 2019 2 commits
-
-
Jakob Kummerow authored
Mostly signed integer overflows, and a few cases of double division by zero (which is defined by IEEE-754 to return Infinity (or NaN for 0/0) but is UB in C++). In base/ieee754.cc, use constants for NaN and Infinity instead of computing these values. In spaces-unittest.cc, ensure that a large enough allocation is used. Bug: v8:3770 Change-Id: I50d9a77dc860ef9993b7b269a5f8c117b0f62f9d Reviewed-on: https://chromium-review.googlesource.com/c/1403454 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#58701}
-
Jakob Kummerow authored
Mostly signed integer overflows, and a few cases of double division by zero (which is defined by IEEE-754 to return Infinity (or NaN for 0/0) but is UB in C++). Bug: v8:3770 Change-Id: I8007987594ff534ca697c1c3247215a72a001343 Reviewed-on: https://chromium-review.googlesource.com/c/1403132 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58693}
-
- 07 Jan, 2019 2 commits
-
-
Clemens Hammacher authored
Use the new macro to define lazily initialized leaky singletons. Avoid the clumsy LazyInstance, which we can hopefully remove soon. R=mlippautz@chromium.org Bug: v8:8600 Change-Id: Ib4d23f275c7ff5ca71fa9b47345284935330ead7 Reviewed-on: https://chromium-review.googlesource.com/c/1397711Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58594}
-
Jakob Kummerow authored
The C++ spec does not guarantee IEEE-754 behavior for doubles, in particular it says that dividing by zero is undefined behavior, and UBSan complains about it when it happens. Bug: v8:3770 Change-Id: I79e52c0e11ebfb581191f6f1c3ff95eb747dd97f Reviewed-on: https://chromium-review.googlesource.com/c/1391751 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58580}
-
- 02 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Introduce a LeakyObject template and use that to implement static lazily initialized objects that never get destructed. This was done in a hand-crafted and complex way before via LazyInstance and LazyStaticInstance. R=tebbi@chromium.org Bug: v8:8600, v8:8562 Change-Id: Id160996753b2cb1baf0f4b2cec9e1727f1d01512 Reviewed-on: https://chromium-review.googlesource.com/c/1388539 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58494}
-
- 27 Dec, 2018 1 commit
-
-
Clemens Hammacher authored
This silences the new presubmit check for all base classes. R=tebbi@chromium.org Bug: v8:8616 Change-Id: I389fedde1b44d9c583dd2fb75e6c8af138c4feb0 Reviewed-on: https://chromium-review.googlesource.com/c/1387491 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58478}
-
- 21 Dec, 2018 2 commits
-
-
Clemens Hammacher authored
This silences the new presubmit check for the whole src/wasm directory. This change uncovered that MSVC is a bit behind with noexcept annotations on standard containers. This makes all implicit constructors and assignment operators noexcept(false) if the class contains any standard container. Thus disable noexcept on MSVC for now. R=tebbi@chromium.org CC=marja@chromium.org Bug: v8:8616, v8:7999 Change-Id: Ica86ac84a5b8a835dcea9b783c7987d9b850241a Reviewed-on: https://chromium-review.googlesource.com/c/1386869 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58430}
-
Clemens Hammacher authored
This replaces another use of std::vector. Stack states (consisting of locals plus operand stack) are also typically small, thus optimize for those cases. Using StackVector as part of CacheState requires the definition of move constructors and copy constructors, plus a few other methods. R=tebbi@chromium.org Bug: v8:8423 Change-Id: I5d39c1ebc4d6d65e4849dd06c556114cd2cd36ff Reviewed-on: https://chromium-review.googlesource.com/c/1380053 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58429}
-
- 18 Dec, 2018 3 commits
-
-
Clemens Hammacher authored
The DISALLOW_COPY_AND_ASSIGN has the same semantics, as long as you do not explicitly add a move constructor or move assignment operator. This CL documents this better and removes the DISALLOW_COPY_AND_MOVE_AND_ASSIGN macro. R=tebbi@chromium.org Bug: v8:8562 Change-Id: I1b742ee1a106d85d59a67c90341fafec2473e925 Reviewed-on: https://chromium-review.googlesource.com/c/1382465Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58342}
-
Clemens Hammacher authored
This CL introduces our own minimal SmallVector implementation and uses it in several places (more might follow). I measured that in the majority of cases, these vectors are quite small (<= 8 elements), so we will avoid any heap allocation in those cases. R=mstarzinger@chromium.org CC=titzer@chromium.org Bug: v8:8423 Change-Id: I93a26b3303a10fe1dc93186430e20333ea4970a8 Reviewed-on: https://chromium-review.googlesource.com/c/1378178 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58323}
-
Ulan Degenbaev authored
The operation will be used for marking of descriptor arrays. Bug: v8:8486 Change-Id: If73be030614e2c84c77eaeeff419c08ef34a76e9 Reviewed-on: https://chromium-review.googlesource.com/c/1382456Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58322}
-
- 17 Dec, 2018 1 commit
-
-
Clemens Hammacher authored
C++ introduces the {alignas} keyword, which can be used with types or integral constant expressions. Use this instead of the V8_ALIGNAS (for types) or V8_ALIGNED (for integral constants) macros. R=ulan@chromium.org Bug: v8:8562 Change-Id: I54999b56a5715237f88c63d8543ef728a5b2eff5 Reviewed-on: https://chromium-review.googlesource.com/c/1379935Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58290}
-
- 11 Dec, 2018 1 commit
-
-
Clemens Hammacher authored
The vast majority of places puts a semicolon after these macros (DISALLOW_ASSIGN, DISALLOW_COPY_AND_ASSIGN). Thus remove the semicolon from the definition and fix the few places that omitted the semicolon at the use. R=mlippautz@chromium.org Bug: v8:8562 Change-Id: Id730576f3061b86d8a5cee0e0b9b762f693f16ec Reviewed-on: https://chromium-review.googlesource.com/c/1371824Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58166}
-
- 07 Dec, 2018 1 commit
-
-
Vasili Skurydzin authored
Change-Id: I3b504d7d22da475b317f5877bc0a5a642017754f Reviewed-on: https://chromium-review.googlesource.com/c/1363531Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58109}
-
- 27 Nov, 2018 3 commits
-
-
Toon Verwaest authored
That reduces the overhead of ParseAssignmentExpression at the cost of a few more branches in the possible arrow head paths. This also fixes the case where an outer scope of an arrow function didn't call eval but a parameter initializer does. Previously the outer scope was also marked as calling eval, causing worse performance. (Unlikely to happen though.) Change-Id: I5263ef342f14e97372f5037fa659f32ec2ad6d34 Reviewed-on: https://chromium-review.googlesource.com/c/1352275 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57881}
-
Igor Sheludko authored
Bug: v8:8238 Change-Id: I7fa1538909bfaf368498ebcc1c59eed258e81a16 Reviewed-on: https://chromium-review.googlesource.com/c/1352272Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57877}
-
Toon Verwaest authored
Pushing unresolved variables at the front was an optimization for the case where we didn't have an end pointer. That forces us to do an O(<new elements>) walk to rescope variables. The implementation was more generic and even did O(<all elements>). Now that we have an end pointer we can simply push at the end and MoveTail which is O(1). Change-Id: I65cd5752b432223d95cd529452a064d8dcc812e1 Reviewed-on: https://chromium-review.googlesource.com/c/1351010 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57868}
-
- 26 Nov, 2018 1 commit
-
-
Ulan Degenbaev authored
This patch gives DescriptorArray its own visitor id and its own layout that is independent from the layout of WeakFixedArray. This allows us to use raw 16-bit integers for keeping track of the number of descriptors (total, non-slack, and marked). As a side-effect, we save one word per descriptor array on 64-bit. v8:8486 Change-Id: If8389dde446319e5b3491abc948b52539dba235c Reviewed-on: https://chromium-review.googlesource.com/c/1349245 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57845}
-
- 21 Nov, 2018 1 commit
-
-
Igor Sheludko authored
and prepare for adding an EmbedderDataSlot which will occupy two tagged slots. Bug: v8:8477, v8:8238, v8:7703 Change-Id: I8aa0a0c9b64835ad7f847033bcc55dd3b3c43563 Reviewed-on: https://chromium-review.googlesource.com/c/1344153 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57669}
-
- 20 Nov, 2018 1 commit
-
-
Toon Verwaest authored
Change-Id: I13dbdbedf3d7bdc3488e9a6c3d4a1b0becfedd74 Reviewed-on: https://chromium-review.googlesource.com/c/1344116Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57654}
-