- 11 Aug, 2021 1 commit
-
-
Samuel Groß authored
When this is enabled, v8 reserves a large region of virtual address space during initialization, at the start of which it will place its 4GB pointer compression cage. The remainder of the cage is used to store ArrayBuffer backing stores and WASM memory buffers. This will later allow referencing these buffers from inside V8 through offsets from the cage base rather than through raw pointers. Bug: chromium:1218005 Change-Id: I300094b07f64985217104b14c320cc019f8438af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3010195Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@google.com> Cr-Commit-Position: refs/heads/master@{#76234}
-
- 09 Aug, 2021 1 commit
-
-
Camillo Bruni authored
This is a reland of fffcbaea Additional fixes: - Relax IsStarted DCHECKs in ElapsedTimer for paused_elapsed - Add LogEventStatus enum in the API for better testing - Rename Logger::StartEnd enum values to kXXX - Add additional NestedTimedHistogramScope tests Original change's description: > [counters] Fix reentrant timers for V8.Execute > > This CL fixes a long standing issue where reentering TimedHistograms > scopes would cause spurious measurements. Only the non-nested scopes > yielded correct results. > > Due to the changed numbers, the V8.Execute histogram is renamed to > V8.ExecuteMicroSeconds. Note that this histogram is also guarded > behind the --slow-histograms flag due to the additional overhead. > > Unlike before, it does no longer include time for external callbacks > and only measures self time. The following example illustrates the > new behaviour: > > 1. Enter V8: |--+.......+--| self-time: 4 units (reported) > 2. Exit V8 (callback): |-+...+-| self-time: 2 units (ignored) > 3. Re-enter V8: |---| self-time: 3 units (reported) > > This would result in 2 histogram entries with 4 time units for the first > V8 slice and 3 units for the nested part. Note that the callback time > itself is ignored. > > This CL attempts to clean up how TimedHistograms work: > - Histogram: the base class > - TimedHistograms: used for time-related histograms that are not nested > - NestedTimeHistograms: Extends TimedHistograms and is used for nested > histograms > > This CL changes Histograms to not measure time themselves. Measurements > happen in the *HistogramScopes: > - BaseTimedHistogramScope: Base functionality > - TimedHistogramScope: For non-nested measurements > - NestedTimedHistogramScope: For nested measurements > - PauseNestedTimedHistogramScope: Ignore time during a given scope. > This is used to pause timers during callbacks. > > Additional changes: > - ExternalCallbackScope now contains a PauseNestedTimedHistogramScope > and always sets VMState<EXTERNAL> > > Bug: v8:11946 > Change-Id: I45e4b7ff77b5948b605dd50539044cb26222fa21 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3001345 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Victor Gomes <victorgomes@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#76111} Bug: v8:11946 Change-Id: Ic2eef7456fbc245febcf780b23418f6ab0bebdb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3080566 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#76180}
-
- 06 Aug, 2021 1 commit
-
-
Leszek Swirski authored
This reverts commit fffcbaea. Reason for revert: Breaks in Chromium (e.g. https://ci.chromium.org/p/v8/builders/ci/Linux%20V8%20FYI%20Release%20%28NVIDIA%29) Original change's description: > [counters] Fix reentrant timers for V8.Execute > > This CL fixes a long standing issue where reentering TimedHistograms > scopes would cause spurious measurements. Only the non-nested scopes > yielded correct results. > > Due to the changed numbers, the V8.Execute histogram is renamed to > V8.ExecuteMicroSeconds. Note that this histogram is also guarded > behind the --slow-histograms flag due to the additional overhead. > > Unlike before, it does no longer include time for external callbacks > and only measures self time. The following example illustrates the > new behaviour: > > 1. Enter V8: |--+.......+--| self-time: 4 units (reported) > 2. Exit V8 (callback): |-+...+-| self-time: 2 units (ignored) > 3. Re-enter V8: |---| self-time: 3 units (reported) > > This would result in 2 histogram entries with 4 time units for the first > V8 slice and 3 units for the nested part. Note that the callback time > itself is ignored. > > This CL attempts to clean up how TimedHistograms work: > - Histogram: the base class > - TimedHistograms: used for time-related histograms that are not nested > - NestedTimeHistograms: Extends TimedHistograms and is used for nested > histograms > > This CL changes Histograms to not measure time themselves. Measurements > happen in the *HistogramScopes: > - BaseTimedHistogramScope: Base functionality > - TimedHistogramScope: For non-nested measurements > - NestedTimedHistogramScope: For nested measurements > - PauseNestedTimedHistogramScope: Ignore time during a given scope. > This is used to pause timers during callbacks. > > Additional changes: > - ExternalCallbackScope now contains a PauseNestedTimedHistogramScope > and always sets VMState<EXTERNAL> > > Bug: v8:11946 > Change-Id: I45e4b7ff77b5948b605dd50539044cb26222fa21 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3001345 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Victor Gomes <victorgomes@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#76111} Bug: v8:11946 Change-Id: I954de1afbabf101fb5d4f52eca0d3b80a723385b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077153 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76138}
-
- 05 Aug, 2021 1 commit
-
-
Camillo Bruni authored
This CL fixes a long standing issue where reentering TimedHistograms scopes would cause spurious measurements. Only the non-nested scopes yielded correct results. Due to the changed numbers, the V8.Execute histogram is renamed to V8.ExecuteMicroSeconds. Note that this histogram is also guarded behind the --slow-histograms flag due to the additional overhead. Unlike before, it does no longer include time for external callbacks and only measures self time. The following example illustrates the new behaviour: 1. Enter V8: |--+.......+--| self-time: 4 units (reported) 2. Exit V8 (callback): |-+...+-| self-time: 2 units (ignored) 3. Re-enter V8: |---| self-time: 3 units (reported) This would result in 2 histogram entries with 4 time units for the first V8 slice and 3 units for the nested part. Note that the callback time itself is ignored. This CL attempts to clean up how TimedHistograms work: - Histogram: the base class - TimedHistograms: used for time-related histograms that are not nested - NestedTimeHistograms: Extends TimedHistograms and is used for nested histograms This CL changes Histograms to not measure time themselves. Measurements happen in the *HistogramScopes: - BaseTimedHistogramScope: Base functionality - TimedHistogramScope: For non-nested measurements - NestedTimedHistogramScope: For nested measurements - PauseNestedTimedHistogramScope: Ignore time during a given scope. This is used to pause timers during callbacks. Additional changes: - ExternalCallbackScope now contains a PauseNestedTimedHistogramScope and always sets VMState<EXTERNAL> Bug: v8:11946 Change-Id: I45e4b7ff77b5948b605dd50539044cb26222fa21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3001345Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#76111}
-
- 03 Aug, 2021 1 commit
-
-
Bruce Dawson authored
Windows.h causes massive namespace pollution with its defining of many macros, it adds to build times, it disables warnings, and it makes it easier to write non-portable code. This change removes windows.h from V8's win32-headers.h. It does this by replicating the small number of typedefs that are needed and by defining three "proxy" types that are the same size and layout. The V8ToWindowsType functions are used to reinterpret_cast between the types. Prior to this change there were over 760 v8-related source files that include windows.h. After this change there are 16. Bug: chromium:796644 Change-Id: I89efeed47028faae72de2da4f1dae345d8d7746c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3042215 Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76064}
-
- 05 Jul, 2021 1 commit
-
-
Piotr Tworek authored
Commit 26d85ace "Use IMMEDIATE_CRASH on official build FATAL errors." has changed how FATAL macro behaves on such builds. Unfortunately this affects logging and random number generator v8 unittests which use ASSERT_DEATH_IF_SUPPORTED macro. After the change we no longer get any v8 CHECK crash messages on official builds thus failing those tests. Fix this by adjusting failing test expectations to reflect the new, expected results v8 now has on official builds. Change-Id: Ice9718c5e887b42a0cfd583340256f7d2591add4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2991238Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75547}
-
- 18 Jun, 2021 1 commit
-
-
Dan Elphick authored
The adding of base:: was mostly prepared using git grep and sed: git grep -l <pattern> | grep -v base/vector.h | \ xargs sed -i 's/\b<pattern>\b/base::<pattern>/ with lots of manual clean-ups due to the resulting v8::internal::base::Vectors. #includes were fixed using: git grep -l "src/utils/vector.h" | \ axargs sed -i 's!src/utils/vector.h!src/base/vector.h!' Bug: v8:11879 Change-Id: I3e6d622987fee4478089c40539724c19735bd625 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968412Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75243}
-
- 09 Jun, 2021 1 commit
-
-
Peter Kasting authored
Bug: chromium:1216696 Change-Id: I0918215c2e2b845bd7b39e06128d74382a467b05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2950262 Commit-Queue: Peter Kasting <pkasting@chromium.org> Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#75062}
-
- 30 Apr, 2021 1 commit
-
-
Clemens Backes authored
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=ahaas@chromium.org Bug: v8:11717 Change-Id: Ica92f4ddc9c351c1c63147cbcf050086ca26cc07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859854 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#74297}
-
- 23 Apr, 2021 1 commit
-
-
Almothana Athamneh authored
Bug: chromium:934932 Change-Id: I9e7940b645cfad8da40950de86c2a5a7feedccff Cq-Include-Trybots: luci.v8.try:v8_fuchsia_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2846894Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Almothana Athamneh <almuthanna@chromium.org> Cr-Commit-Position: refs/heads/master@{#74160}
-
- 12 Mar, 2021 1 commit
-
-
Clemens Backes authored
We still get e.g. ClusterFuzz reports with enums printed as non-printable single-character strings (see linked bug). This CL fixes this, and also includes the integral enum value for enum that come with their own output operator. This makes error messages strictly better, at the cost of some more code per enum which is being used in a CHECK/DCHECK. Note that binary size of release builds is not affected, since we do not print the values there. R=nicohartmann@chromium.org Bug: v8:11384, chromium:1187484 Change-Id: I066b32f68440096babed9b629c7ffe3f2285cba8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756226Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73373}
-
- 25 Feb, 2021 1 commit
-
-
pthier authored
VLQ encoding was implemented in TranslationArray and Sparkplug PC <-> bytecode mapping. This CL introduces new VLQ helper methods used in both. Bug: v8:11429 Change-Id: I89d9777eab4ad28f08e5957421b63df07e37f9cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704674Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#73054}
-
- 05 Jan, 2021 1 commit
-
-
Clemens Backes authored
The tests were failing in official release builds, because those drop the fatal error message and always print "ignored" instead. R=ecmziegler@chromium.org Bug: v8:11251 Change-Id: I40512ca308337cf070ecb6a206dc4a5323d67415 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595445Reviewed-by:
Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71914}
-
- 17 Dec, 2020 1 commit
-
-
Zhi An Ng authored
- Add the appropriate cpuid checks to detect AVX2 in base/cpu - Add FLAG_enable_avx2 AVX2 depends on AVX support, + a cpuid check with eax=7. This is similar to chromium/src/base/cpu.cc check for AVX2. Bug: v8:11258 Change-Id: Ia547c22e51b03fec823f5e48ebb055139632c942 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2589050Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71821}
-
- 06 Nov, 2020 1 commit
-
-
Zhi An Ng authored
Bug: v8:11074 Change-Id: I7b34b6a647bf9ad317bdb97a344739302f892957 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2519184Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70997}
-
- 30 Oct, 2020 1 commit
-
-
Michael Lippautz authored
- Provide GetRealStackAddressForSlot that deals with ASAN fake stacks properly, also accounting for the fact that ASAN gets its real stack address in a nested call. - Fix cppgc on-stack getter. - Reuse platform routines in global handles. Bug: chromium:1139914, chromium:1056170 Change-Id: If11a40d543b33edcea220bb70f170ac018e15053 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509594 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70899}
-
- 31 Jul, 2020 1 commit
-
-
Dan Elphick authored
Excluded regions are no longer available to the RegionAllocator, so should not be freeable so actually enforce that and aAdd a test. Bug: v8:10454 Change-Id: I51c41cf0bf3d2eeb699b10b1fa02f5465d93b6aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2330026Reviewed-by:
Igor Sheludko (OOO Aug 3-17) <ishell@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#69163}
-
- 14 May, 2020 1 commit
-
-
Omer Katz authored
The existing non-builtin implementation is returning wrong results. For example, given the value 63 as a uint8_t it returns 38 (should be 6). The new implementation follows the naive algorithm presented in figure 5-1 in Hacker's Delight section 5-1. Note that the algorithm in the book is designed for 32 bit numbers, so we extended it to support 64 bit as well. Bug: chromium:1056170 Change-Id: I8fed9c449f80b01b8cc93d339529c0e1e0863fc0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2199345Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#67801}
-
- 28 Apr, 2020 1 commit
-
-
Dan Elphick authored
base::List is only used inside of heap and has some pretty strange semantics that don't lend themselves to it being a general purpose data structure so this moves it to heap where it can be safe isolated. Bug: v8:10454 Change-Id: I7921c22286276432956005c72143b22b0364fc93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170029 Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67448}
-
- 27 Mar, 2020 1 commit
-
-
Michael Lippautz authored
Adds: - GetStackStart - GetCurrentStackPosition - GetStackSlot which translates a stack slot through ASAN if needed Bug: v8:10354, chromium:1056170 Change-Id: I28e76f41de28415382f7cc32729e86d71e9f8f19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2122033 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66890}
-
- 30 Jan, 2020 1 commit
-
-
Igor Sheludko authored
... by using random seed provided via --gtest_random_seed= flag. Bug: chromium:1043117 Change-Id: I6114e9c71f3196a386a8457a6ec6f9e1fc80f6ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2027991Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66043}
-
- 28 Jan, 2020 1 commit
-
-
Philip Pfaffe authored
The current implementation takes forwarding reference arguments, which is fine when you call it with rvalues, like make_iterator_range(V.begin(), V.end()). If you call it with lvalues though, it doesn't do what you'd expect. ForwardIterator becomes a reference: Foo I = V.begin(); make_iterator_range(I, I); //ForwardIterator is deduced as Foo& Since iterator are supposed to be small, no harm in passing them by value. Change-Id: I151c87304949d810c72c42f60e9d1a7151f61f83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020780 Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66007}
-
- 21 Jan, 2020 1 commit
-
-
Milad Farazmand authored
Compilation is failing on certain versions of gcc with: 'sort' is not a member of 'std' 'adjacent_find' is not a member of 'std' 'count' is not a member of 'std' and Bug: v8:10145 Change-Id: I0672636987c515485318d29d251c3b49a22ff374 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2008307 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65884}
-
- 20 Jan, 2020 1 commit
-
-
Maya Lekova authored
Rolling v8/base/trace_event/common: https://chromium.googlesource.com/chromium/src/base/trace_event/common/+log/81c050f..e327c63 Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/1bee638..fd02540 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/1f38b43..73414d5 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/f7d73bb..251c765 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/2a04803..05b001c Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/5395345..306f375 Bug: chromium:1043117 Change-Id: Iee06baa8c4caaed2a187390eeb3c8f0b61db63d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2006669 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#65865}
-
- 10 Jan, 2020 1 commit
-
-
Clemens Backes authored
When comparing objects which get printed to very long strings (e.g. collections like vectors), it's much more readable if they get printed to individual lines. Differences are much easier to spot then. This CL refactors the CHECK/DCHECK macros to print the left hand side and right-hand side in individual lines if any of them is longer than 50 characters. To that end, the {PrintCheckOperand} method (only used from {MakeCheckOpString}) is changed to return the string directly instead of printing to an output stream. R=mlippautz@chromium.org Change-Id: I6e24a5cbfeb1af53fa0aca2828e23f642b15569c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991866Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65705}
-
- 08 Nov, 2019 1 commit
-
-
Clemens Backes authored
{WhichPowerOf2} is basically the same as {CountTrailingZeros}, with a restriction to powers of two. Since it does not use or depend on any v8 internals, it can be moved to src/base/bits.h. This CL also changes the implementation to use the CTZ builtin if available, and falls back to popcnt otherwise. Drive-by: Make it constexpr, and rename to {WhichPowerOfTwo}. R=sigurds@chromium.org Bug: v8:9810, v8:8912 Change-Id: I8368d098f9ab1247f3b9f036f1385a38de10cc6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903966Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64851}
-
- 10 Sep, 2019 2 commits
-
-
Bill Budge authored
- Eliminates non-const reference parameters in test/unittests. Bug: v8:9429 Change-Id: Ia7b41482811183324a62859d27fc263e4032219a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1794802Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#63643}
-
Clemens Hammacher authored
Since we switched to C++14 now, we can use {std::make_unique} instead of our own {base::make_unique} from {template-utils.h}. R=mstarzinger@chromium.org, yangguo@chromium.org Bug: v8:9687 No-Try: true Change-Id: I660eb30038bbb079cee93c7861cd87ccd134f01b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1789300 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63642}
-
- 30 Jul, 2019 1 commit
-
-
Ben L. Titzer authored
This is a reland of a0728e86 Original change's description: > [d8] Remove maximum workers limitation > > This CL refactors the lifetime management of the v8::Worker C++ object > and in the process lifts the 100 maximum worker limitation. To do this, > it uses a Managed<v8::Worker> heap object and attaches the managed to > the API worker object. > > R=mstarzinger@chromium.org > BUG=v8:9524 > > Change-Id: I279b7aeb6645a87f9108ee6f572105739721cef4 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1715453 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62932} Bug: v8:9524 Change-Id: I7d903fb12ddb00909a9429455f46c55db2fd02de Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1722562Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62974}
-
- 16 Jul, 2019 1 commit
-
-
zhiguo authored
This CL adds the support for Base64 VLQ decoding, which is the base of parsing source map files (Version 3). With this support, the mappings of C/C++ source code and WASM bytecode could be built in V8 engine. The newly-added function is called VLQBase64Decode, which accepts two character to be decoded. Upon its return, the position is updated with the next start position. The unittest of this support is also added in this CL. argument: the Base64-encoded VLQ string and the position of first Change-Id: If0f32972ecd7488844478a7b93a0f10cc38b6a5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1657421Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Zhiguo Zhou <zhiguo.zhou@intel.com> Cr-Commit-Position: refs/heads/master@{#62748}
-
- 08 Jul, 2019 1 commit
-
-
Clemens Hammacher authored
Cpplint usually checks for non-const reference arguments. They are forbidden in the style guide, and v8 does not explicitly make an exception here. This CL re-enables that warning, and fixes all current violations by adding an explicit "NOLINT(runtime/references)" comment. In follow-up CLs, we should aim to remove as many of them as possible. TBR=mlippautz@chromium.org Bug: v8:9429 Change-Id: If7054d0b366138b731972ed5d4e304b5ac8423bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687891Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62551}
-
- 28 May, 2019 1 commit
-
-
Clemens Hammacher authored
Especially for function types, this increases readability significantly. Also the style guide recommends for 'using' over 'typedef'. R=mstarzinger@chromium.org Bug: v8:9183 Change-Id: If2d17863de39383f5a35e089298d37408791ce4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631415 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61872}
-
- 27 May, 2019 1 commit
-
-
Clemens Hammacher authored
This replaces all typedefs that define types and not functions by the equivalent "using" declaration. This was done mostly automatically using this command: ag -l '\btypedef\b' src test | xargs -L1 \ perl -i -p0e 's/typedef ([^*;{}]+) (\w+);/using \2 = \1;/sg' Patchset 2 then adds some manual changes for typedefs for pointer types, where the regular expression did not match. R=mstarzinger@chromium.org TBR=yangguo@chromium.org, jarin@chromium.org Bug: v8:9183 Change-Id: I6f6ee28d1793b7ac34a58f980b94babc21874b78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631409 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61849}
-
- 24 May, 2019 1 commit
-
-
Yang Guo authored
TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org Bug: v8:9247 Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61830}
-
- 23 May, 2019 2 commits
-
-
Yang Guo authored
NOPRESUBMIT=true TBR=mstarzinger@chromium.org Bug: v8:9247 Change-Id: I4cd6b79a1c2cba944f6f23caed59d4f1a4ee358b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624217 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61790}
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
- 18 Feb, 2019 1 commit
-
-
Victor Costan authored
Googletest is (at last) converging with industry-standard terminology [1]. We previously called test suites "test cases", which was rather confusing for folks coming from any other testing framework. Chrome now has a googletest version that supports _TEST_SUITE_ macros instead of _TEST_CASE_, so this CL cleans up some of the outdated usage. [1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature Bug: chromium:925652 Change-Id: I3cd02b9fa6dbece1594bbfd50a21ad7503c2aab9 Reviewed-on: https://chromium-review.googlesource.com/c/1475654Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Victor Costan <pwnall@chromium.org> Cr-Commit-Position: refs/heads/master@{#59666}
-
- 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}
-
- 10 Jan, 2019 1 commit
-
-
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}
-
- 27 Nov, 2018 1 commit
-
-
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}
-