- 01 Jul, 2019 1 commit
-
-
Clemens Hammacher authored
Avoid inlining the {SmallVector::Grow} function, as it is rarely used. This reduces binary size, since {emplace_back} is called a lot, and often {emplace_back} itself is inlined. As another minor tweak the {Grow} function now returns the new end of the used storage, to reduce binary size in {emplace_back} even more. Also, there is a separate version without argument. R=mlippautz@chromium.org Change-Id: If25f976649fee3f585b9a2cf6bdfe00fdb77af0b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1683995Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62467}
-
- 18 Jun, 2019 1 commit
-
-
Jakob Gruber authored
This class used to be based on DispatchTable, which itself uses an interval tree to both categorize and canonicalize ranges (i.e. such that no overlap and all immediately adjacent ranges are merged). The produced ranges were then entered into lists for {bmp,lead_surrogate,trail_surrogate,non_bmp} splits. With this CL, we simplify to a plain loop over all character range kinds instead. The dispatch table (and ZoneSplayList, perhaps SplayList) can be removed in follow-ups. Bug: v8:9359 Change-Id: I9c6b72f3bc44d1557af7c74419709ae5662611f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664053 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62260}
-
- 06 Jun, 2019 1 commit
-
-
Jakob Gruber authored
Ideally, in the common case the backtracking stack should be stack-allocated (and thus cheap). We should only switch to dynamic allocation if needed. SmallVector implements exactly this strategy, so switch to that as a backing store. This improves Octane/RegExp scores (--regexp-interpret-all) by 50%. Bug: v8:7777,v8:9330 Change-Id: I0d1b07bd8fd94483128e021390d054f483076f8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645318 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62013}
-
- 15 May, 2019 1 commit
-
-
Clemens Hammacher authored
On windows, when changing permissions for a range of pages, or committing or discarding a range of pages, we need to split that range by the reservations and potentially execute several system calls. This logic is currently implemented for committing memory. This CL extracts this to a helper function such that we can reuse this for discarding a range of pages. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I65673eebe28362975f0165905d20b97ef7947f56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611544 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61523}
-
- 09 Apr, 2019 1 commit
-
-
Anton Bikineev authored
This change aims to simplify RawMachineAssembler::CallCFunction interface by use of variadic templates. Change-Id: Ie7081f692f62674f891f09abfd7149e8d95eeb81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526015 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60710}
-
- 28 Jan, 2019 1 commit
-
-
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}
-
- 21 Dec, 2018 1 commit
-
-
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 1 commit
-
-
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}
-