- 10 Mar, 2020 1 commit
-
-
Leszek Swirski authored
Previously, ParseInfo would create a script (with CreateScript) based on its flags, and then set its own flags based on that created script. This created a weird circular dependency for some of those flags, and sometimes we would have valid flags before script creation (main thread compile), while other times not (streaming compile). Now we set the ParseInfo flags manually and uniformly before script creation, and check that they match the created script after it has been created. Bug: v8:10314 Change-Id: Ife886c77727cd228c944a4f97369a3e6365d8219 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2093433 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66648}
-
- 02 Mar, 2020 1 commit
-
-
Leszek Swirski authored
Remove OffThreadHandle, HandleOrOffThreadHandle, and HandleFor, and make the OffThreadIsolate allocate "real" Handles. Rather than using the main-thread Isolate's handle scopes, these off-thread Handles are backed by a Zone, which is tied to the lifetime of the nearest OffThreadHandleScope. Eventually, we'll likely want to merge the implementation of OffThreadHandleScope and HandleScope, but currently the latter is too tightly coupled to the main thread to do so. Bug: chromium:1011762 Change-Id: I2a6361931fe3f90a7bef4cc28ee42155fa8d062f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071865Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66516}
-
- 26 Feb, 2020 1 commit
-
-
Victor Gomes authored
This adds static types to the argument class that accesss the arguments in the stack. kRuntime arguments are used by runtime functions and kJS arguments are used to access the JS stack (eg. builtins). The distinction allows the reversal of arguments in the JS stack without changing the runtime arguments order. Bug: v8:10201 Change-Id: I7c08164d53c4071c7910836fa733dee8ff7fa680 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2066985 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66470}
-
- 25 Feb, 2020 2 commits
-
-
Shu-yu Guo authored
The deprecated legacy FinalizationGroup APIs are left unchanged for compat. Bug: v8:8179 Change-Id: I9bdcaa92360db318c96fc8524c04163ece25118e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071236 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#66437}
-
Victor Gomes authored
Context: This is part of a bigger CL: https://chromium-review.googlesource.com/c/v8/v8/+/2043840 In order to get rid of the arguments adaptor frame, we will reverse the JS arguments in the stack. Some macros will need to reverse its arguments as well, we will do that using helper macros in another CL (see src/builtins/builtins-descriptors.h in 2043840). For that we need to stringify the name kDontAdaptArgumentsSentinel, which cannot be done if '::' is in its name. This CL should not have any impact performace/memory on V8. Bug: v8:10201 Change-Id: If76b7f457c179fbddddfe1a0ae038d2f1210ad2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2066969Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66432}
-
- 24 Feb, 2020 1 commit
-
-
Shu-yu Guo authored
Renaming the JS-visible identifiers and strings is left for a future CL. FinalizationGroup was renamed at Feb 2020 TC39, to better signal that if a FinalizationRegistry dies, the finalization actions registered with it may no longer be performed. Bug: v8:8179 Change-Id: I0d676a71a4a67d2b7175994a67458a6158065844 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2055381Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66416}
-
- 21 Feb, 2020 2 commits
-
-
Wouter Vermeiren authored
After support for ARCH_PPC was dropped, it became a subset of ARCH_PPC64. If you compile for ppc64, then you set the ARCH_PPC64 define which also sets the ARCH_PPC define. To be able to again support ppc (32 bit) those defines should be split up again. This commit only splits up the defines but does not introduce a working ARCH_PPC variant. Bug: v8:10102 Change-Id: I64e0749f8e5a7dc078ee7890d92e57b82706a849 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1989826 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66390}
-
Michael Lippautz authored
Jitless mode does not allocate executable memory, so we can avoid reserving memory in such configurations. Bug: v8:10033 Change-Id: Ie6a943084e3bade85848e3219cb4d8779ed34830 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981505 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#66388}
-
- 10 Feb, 2020 2 commits
-
-
Santiago Aboy Solanes authored
FunctionEntry StackChecks is one of the two cases where we generate a StackCheck bytecode. In these cases, we do stack check against the js limit (not to be confused with the real js limit). Their purpose is to be able to interrupt the running code. We can omit the FunctionEntry StackCheck by embedding its code into the InterpreterEntryTrampoline builtin. We save one bytecode per interpreted function. This change has rippling effects for optimized code, as well as the deoptimizer. Bug: v8:10149, v8:9977, v8:9960 Change-Id: I6156de48b3bc0b519dd21190a8e6214fbe96c78d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914218Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66206}
-
Leszek Swirski authored
Make Scope allocation and ScopeInfo creation Isolate-templated. This includes making SourceTextModuleInfo allocation templated -- modules aren't currently streamed off-thread, but will hopefully be in the future, so this future-proofs them against that. Bug: chromium:1011762 Change-Id: I8954e08e8e81489eb821b5f62ec35a5be31fce09 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043790Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66197}
-
- 17 Jan, 2020 1 commit
-
-
Steve Blackburn authored
Bug: v8:9533 Change-Id: I09a929839ca5cbad3f1a3154c6f143b242095ffa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1995276Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Steve Blackburn <steveblackburn@google.com> Cr-Commit-Position: refs/heads/master@{#65844}
-
- 16 Jan, 2020 1 commit
-
-
Hannes Payer authored
Change-Id: I6eb3c9c6ff25a58b2c7d0d233926514606e7ff5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1995395 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#65807}
-
- 27 Dec, 2019 1 commit
-
-
Daniel Clifford authored
In the process: * Rework the Torque definition of ScopeInfo to enable direct field-style access of ScopeFlags, removing some dead code in the process. * Allow implicit FromConstexpr conversion from subtypes of 'constexpr A' to other types. This makes it possible/easy to convert constexpr versions of enums to other types, since the constexpr version of the enum isn't addressable. It's namespace isn't a valid namespace and is an implementation detail anyway. * Cleanup LanguageMode: Language mode is now an enum and directly mirrors the C++-side definition rather than being a Smi. With the changes above, a new type LanguageModeSmi is introduced that is the Smi representation of LanguageMode that can be implicitly casted from constexpr LanguageMode values. Change-Id: I190412f95e02905f445d149883fbf1f2b8ed757b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1977159 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65561}
-
- 05 Dec, 2019 1 commit
-
-
Shu-yu Guo authored
The current error message assumes all classes are named, which results in a double space and awkward wording when calling an anonymous class constructor. Bug: v8:10025 Change-Id: Ibe913152c0816cbbaaa0c7a88db4e415762ae9bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1947336 Commit-Queue: Shu-yu Guo <syg@chromium.org> Auto-Submit: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#65354}
-
- 04 Dec, 2019 1 commit
-
-
Shu-yu Guo authored
Forgot to pass the method name to the message template. Bug: v8:9800 Change-Id: Id1b53b166a6908f6d906abb7a820bbf201e906fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1947326 Auto-Submit: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Joshua Litt <joshualitt@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#65325}
-
- 27 Nov, 2019 1 commit
-
-
Leszek Swirski authored
To indicate that the Isolate* in getters might not be a "real" isolate, but rather a calculated one from GetIsolateForPtrCompr only used for calculating the isolate root, make that function return a const Isolate* and change field getters, Object::IsFoo predicates, and related functions to all take a const Isolate* instead of an Isolate* With this change, we can slightly more confidently use Objects that are in OffThreadSpace, without having to worry too much about having an Isolate* floating around that could accidentally be used. This is a slight abuse of const semantics, but it allows implicit conversion from Isolate* arguments to the const Isolate* parameter. Bug: v8:7703 Bug: chromium:1011762 Change-Id: I54d4a65d2299477195f4d754cabe64ce34fdaa4c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1939455 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65199}
-
- 19 Nov, 2019 1 commit
-
-
Jakob Gruber authored
We recently extended function-entry stack checks by an offset representing the difference in optimized and unoptimized frame sizes, with the intent of avoiding stack overflows during deopts. Although the generated code is very efficient (just a single additional register subtraction, executed exactly once per call), perf impact is measurable. To avoid the overhead in most cases, this CL adds a stack slack, currently set to 256 bytes, by which deopts are allowed to exceed the real V8 stack limit. For function-entry stack checks with an offset less than stack slack, the offset is not applied and the more efficient version of the stack check is emitted. The V8 limit is chosen to be smaller than OS stack size (assumed to be at least 1 MB). This guarantee is upheld even with slack. Bug: chromium:1020989,v8:9534 Change-Id: Idee2e7ad1fa7810bf086a9f72ce00a9717010310 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1910099Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65025}
-
- 16 Nov, 2019 1 commit
-
-
Igor Sheludko authored
This reverts commit 1ec2ca26. Reason for revert: Preparing for re-enabling pointer compression. Original change's description: > [ptr-compr] Temporarily enable double fields unboxing > > We are not shipping ptr-compr in M79 on x64 because chromium:1009439 > blocks 31-bit Smis on 64-bit architectures, so these's no point in > disabling double fields unboxing. > > This CL will be reverted after the M79 branch point. > > Bug: v8:9799, chromium:1009439 > Change-Id: I28d0013d3ab06ce41d5028ba4f66c9b249de52d7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862556 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64288} Bug: v8:9799, chromium:1009439 Change-Id: I18e22422725777ad8bfbb19243158228f3559c32 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1919320Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64990}
-
- 15 Nov, 2019 1 commit
-
-
Dan Elphick authored
utils.h itself is fairly large and contains lots of unrelated functions as well as having a fair number of dependencies itself, so this splits bounds checking and bit field operations into their own headers in base and replaces uses of utils.h with the more appropriate header where possible. (Also fixes some cases where other headers were previously brought in transitively). Bug: v8:9810, v8:8912 Change-Id: I76c53f953848a57e2c5bfad6ce45abcd6d2a4f1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1916604Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64983}
-
- 08 Nov, 2019 1 commit
-
-
Ulan Degenbaev authored
Now incremental marker and stop-the-world marker use the same visitor, which is derived from MarkingVisitorBase. This removes code duplication and also should reduce binary size. The marking worklist processing code also changes to not color the object black before visiting it. Instead the visitor colors the object black in ShouldVisit method. Bug: chromium:1019218 Change-Id: I57971122f3c77ad2770b6754d696b79d802ef1a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901271 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64848}
-
- 06 Nov, 2019 2 commits
-
-
Igor Sheludko authored
... in an uintptr friendly way. Drive-by-fix: 1) IsForceSlowPath() check is integrated into Cast<FastJSArray> 2) disable tests incompatible with --force-slow-path in "slow_path" variant Bug: v8:8906, v8:4153 Change-Id: I427f117073bc295120aa52fb3fe023ee04d58302 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899988 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64799}
-
Simon Zünd authored
Design doc: bit.ly/v8-repl-mode This CL adds a new REPL mode that can be used via DebugEvaluate::GlobalREPL. REPL mode only implements re-declaration of 'let' bindings at the moment. Example: REPL Input 1: let x = 21; REPL Input 2: let x = 42; This would normally throw a SyntaxError, but works in REPL mode. The implementation is done by: - Setting a 'repl mode' bit on {Script}, {ScopeInfo}, {ParseInfo} and script {Scope}. - Each global let declaration still gets a slot reserved in the respective {ScriptContext}. - When a new REPL mode {ScriptContext} is created, name clashes for let bindings are not reported as errors. - Declarations, loads and stores for global let in REPL mode are now "load/store global" instead of accessing their respective context slot directly. This causes a lookup in the ScriptContextTable where the found slot for each name is guaranteed to be the same (the first one). Bug: chromium:1004193, chromium:1018158 Change-Id: Ia6ab526b9f696400dbb8bfb611a4d43606119a47 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876061 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64793}
-
- 31 Oct, 2019 1 commit
-
-
Jakob Gruber authored
The condition to detect an inline backing store was wrong and we would try to access the heap-allocated store even for inline stores. Drive-by: Use kBitsPerSystemPointer and the new kBitsPerSystemPointerLog2 constants. Change-Id: I19d0245ae82642a788c967534ab2a84464d56a67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890093 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64667}
-
- 30 Oct, 2019 1 commit
-
-
Santiago Aboy Solanes authored
It was used only with Register inputs, so we can replace its uses with the Registers themselves. Change-Id: I1ea3ed88ee41177b696a7281cdf3b90fefdc5870 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886916Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64639}
-
- 25 Oct, 2019 1 commit
-
-
Leszek Swirski authored
Both LO_SPACE and NEW_LO_SPACE use the basic page management system of LargeObjectSpace, but implement different AllocateRaw methods (with the NEW_LO_SPACE version shadowing the LO_SPACE version). To clean this up, and allow other future LargeObjectSpace implementations (in particular, an off-thread variant), refactored the current LargeObjectSpace into a base class, and make both LargeObjectSpace (renamed to OldLargeObjectSpace) and NewLargeObjectSpace extend this class. Bug: chromium:1011762 Change-Id: I41b45b97f2611611dcfde677213131396df03a5e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876824 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64560}
-
- 24 Oct, 2019 1 commit
-
-
Shu-yu Guo authored
Currently if the argument to matchAll has a null or undefined .flags property, the error message will read "String.prototype.matchAll called on null or undefined", which is very confusing. Drive-by fix: Remove the related and unused MethodInvokedOnNullOrUndefined error. Bug: v8:9895 Change-Id: I3644545282ac8d2156c7a51086e37a0ab7f97a78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874619 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64530}
-
- 23 Oct, 2019 3 commits
-
-
Leszek Swirski authored
Add a new PagedSpace called OffThreadSpace. This space will be used for off-thread allocation -- it never marks or sweeps, and always expands into fresh pages. Once allocation completes, this space's pages can be merged into the old space. The space is similar to the CompactionSpace, and merging for both is identical, so we intrduce a new LocalSpace base class that both extend. They differ in interaction with the sweeper and in how new pages are acquired. This patch adds the new space and uses it in a few unittests. Future work will use it in the main source code. Bug: chromium:1011762 Change-Id: Ia008cc95c6e1ef1d1e7ae305fa80fbfc1ff4be2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1873690 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64509}
-
Michael Starzinger authored
R=neis@chromium.org,miladfar@ca.ibm.com BUG=v8:9872 Change-Id: Ia8b0da9a6026f7933503ecd9e735d7fc3fdff364 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1869190Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64507}
-
Igor Sheludko authored
The new ToIndex() must eventually replace ToSmiIndex(). The CL fixes the following abstract operations: GetViewValue(view, requestIndex, isLittleEndian, type) SetViewValue(view, requestIndex, isLittleEndian, type, value) and the following builtins: DataView.prototype.getXXX DataView.prototype.setXXX where XXX are all typed elements. Bug: v8:4153 Change-Id: Ic2f33e91b59426deb0efa28bb4c15253e80a299c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874345 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64506}
-
- 22 Oct, 2019 1 commit
-
-
Dominik Inführ authored
This CL ensures that recorded slots are either in the sweeping or the old-to-new remembered set after mark-compact depending on whether the page was already swept or not. All pages that are swept during the evacuation phase also have their remembered sets merged. is_local() is renamed to is_compaction_space() and non-virtual. The PagedSpace now not only knows whether it is a compaction space or not but also for which collection through the compaction_space_kind_ field. This allows RefillFreeList to merge the remembered sets immediately also for the mark-compact collection. Change-Id: I7457f8393d73f3e8d6b6ebedc46ebc36af509729 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1868613Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64458}
-
- 17 Oct, 2019 1 commit
-
-
Milad Farazmand authored
The calling conventions on AIX uses function descriptors, which means that pointers to functions do not point to code, but instead point to metadata about them. When calling JITed code, we must assure to use function descriptors instead of raw pointers when needed. Before this CL 213504b9, all CallCFunction on AIX were guaranteed to have function descriptors. Starting form the CL mentioned above, CallCFunction can also Jump to a Trampoline which does not have a function descriptor, hence a new "CallCFunctionWithoutFunctionDescriptor" method is proposed to deal with this issue. BUG= v8:9766 Change-Id: I9343c31c812f5d4dda8503a5adf024b24dbde072 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825961 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64357}
-
- 16 Oct, 2019 1 commit
-
-
Joshua Litt authored
This cl modifies RegExp.prototype.matchAll to throw on non-global regexps. Relevant pull request: https://github.com/tc39/ecma262/pull/1716 Bug: v8:9800 Change-Id: Ie963c1c00441f1c4e2b975c3bab77cca902c7ebc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846067Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#64318}
-
- 15 Oct, 2019 1 commit
-
-
Igor Sheludko authored
We are not shipping ptr-compr in M79 on x64 because chromium:1009439 blocks 31-bit Smis on 64-bit architectures, so these's no point in disabling double fields unboxing. This CL will be reverted after the M79 branch point. Bug: v8:9799, chromium:1009439 Change-Id: I28d0013d3ab06ce41d5028ba4f66c9b249de52d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862556Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64288}
-
- 07 Oct, 2019 1 commit
-
-
Igor Sheludko authored
With the smi-corrupting decompression approach we don't have to sign extend Smis anymore and therefore we can switch to zero extending approach by moving the isolate root to the beginning of the reserved 4Gb region. Bug: v8:9706 Change-Id: Icd6008fa87d0924519b574fdec445976f742e306 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835548 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64144}
-
- 04 Oct, 2019 2 commits
-
-
Igor Sheludko authored
This is a reland of b271ea3c The failing arm64 disasm poison test was fixed. Original change's description: > [ptr-compr] Disable double fields unboxing > > Double field unboxing optimization is incompatible with pointer compression so > we land this CL before enabling pointer compression in order to separate memory > and performance regressions caused by disabled double field unboxing from > pointer compression change. > > Bug: v8:9799 > Change-Id: Ic8118356496a3f351344215b409f9722de6c9355 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835546 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64089} Tbr: verwaest@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux_arm64_dbg Bug: v8:9799 Change-Id: Ib7c126d70859537c3d0bce54a49f23909c14a6ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1840411 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64111}
-
Igor Sheludko authored
... as the smi-corrupting decompression seems to be stable enough. Bug: v8:9706 Change-Id: I404924ec4a12b37d8bc3e521c5563aa7e6357dc6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835544Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64107}
-
- 02 Oct, 2019 3 commits
-
-
Francis McCabe authored
This reverts commit b271ea3c. Reason for revert: breaks arm build: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/17575 Original change's description: > [ptr-compr] Disable double fields unboxing > > Double field unboxing optimization is incompatible with pointer compression so > we land this CL before enabling pointer compression in order to separate memory > and performance regressions caused by disabled double field unboxing from > pointer compression change. > > Bug: v8:9799 > Change-Id: Ic8118356496a3f351344215b409f9722de6c9355 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835546 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64089} TBR=ishell@chromium.org,verwaest@chromium.org Change-Id: Ief07d8d4b3c4a6f1439656f31b8d34ec99bf9747 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9799 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834769Reviewed-by:
Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#64090}
-
Igor Sheludko authored
Double field unboxing optimization is incompatible with pointer compression so we land this CL before enabling pointer compression in order to separate memory and performance regressions caused by disabled double field unboxing from pointer compression change. Bug: v8:9799 Change-Id: Ic8118356496a3f351344215b409f9722de6c9355 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835546 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64089}
-
Mythri A authored
Premonomorphic state was only used for store globals to handle contextual store on a global object [1]. We now handle these differently and we move to fast handlers even without going through premonomorphic state after this cl: https://chromium-review.googlesource.com/c/v8/v8/+/1807356. Also, with lazy feedback this would be a relatively uncommon case anyway. So, we no longer need premonomorphic state. This cl removes this state entirely. [1]: https://bugs.chromium.org/p/v8/issues/detail?id=8712 Bug: v8:8394 Change-Id: I71fb918b82b0c321a9705e32c8fc44e9ec223b38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1833690Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#64085}
-
- 01 Oct, 2019 1 commit
-
-
Igor Sheludko authored
... by flipping the flag. Bug: v8:9706 Change-Id: Ie0e70a243a5a6a703cdaa27c1ed55a78d9904bbe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826732 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64075}
-