- 15 Jun, 2022 1 commit
-
-
Seth Brenith authored
This is a partial reland of https://crrev.com/c/3597106 , except for the changes in compiler.cc, which are just the minimal possible changes to make the code compile. With this change, it is possible that a call to CompilationCache::LookupScript returns any of: 1. A Script and a toplevel SharedFunctionInfo (cache hit) 2. A Script but no toplevel SharedFunctionInfo (partial cache hit) 3. Nothing (cache miss) Bug: v8:12808 Change-Id: Id33a4cd0cb28562d6b862fbb113ea9d03f255b2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3687425Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#81193}
-
- 10 Jun, 2022 1 commit
-
-
Seth Brenith authored
This is a partial reland of https://crrev.com/c/3597106 With this change, an old entry in the script compilation cache is not completely removed by CompilationCacheScript::Age(). Instead, its value is replaced with undefined. In that way, the Script is still accessible from the table until the garbage collector destroys it and clears the weak pointer. Bug: v8:12808 Change-Id: Ib494674e67d0fec455e1fed40499c5cca3b7c0a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3673426Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#81084}
-
- 08 Jun, 2022 1 commit
-
-
Seth Brenith authored
This is a reland of commit c443858f The original version included an operation which could left-shift signed values, which is undefined behavior; the updated version masks the value first to avoid the problem. Original change's description: > Allow lookup of matching scripts in Isolate compilation cache > > Currently, if the same script text is compiled multiple times with > differing details (such as name, line number, or host-defined options), > then multiple copies of that script are added to the Isolate's > compilation cache. However, any attempt to look up those scripts can > find only the first instance. This change makes the script compilation > cache behave more consistently by checking the details while searching > the hash table for a match, rather than after a potential match has been > found. > > Bug: v8:12808 > Change-Id: Ic9da0bf74f359d4f1c88af89d585404f173056ee > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3671615 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/main@{#80919} Bug: v8:12808 Change-Id: I494c3c9cc520b79f34247aab6618c40c854b9edc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3687070Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#81007}
-
- 02 Jun, 2022 2 commits
-
-
Deepti Gandluri authored
This reverts commit c443858f. Reason for revert: Several UBSan failures: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/21547/overview Original change's description: > Allow lookup of matching scripts in Isolate compilation cache > > Currently, if the same script text is compiled multiple times with > differing details (such as name, line number, or host-defined options), > then multiple copies of that script are added to the Isolate's > compilation cache. However, any attempt to look up those scripts can > find only the first instance. This change makes the script compilation > cache behave more consistently by checking the details while searching > the hash table for a match, rather than after a potential match has been > found. > > Bug: v8:12808 > Change-Id: Ic9da0bf74f359d4f1c88af89d585404f173056ee > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3671615 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/main@{#80919} Bug: v8:12808 Change-Id: I6d007374fb607a2670ca260c6bd0d6774d7f51d7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3687311 Auto-Submit: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#80922}
-
Seth Brenith authored
Currently, if the same script text is compiled multiple times with differing details (such as name, line number, or host-defined options), then multiple copies of that script are added to the Isolate's compilation cache. However, any attempt to look up those scripts can find only the first instance. This change makes the script compilation cache behave more consistently by checking the details while searching the hash table for a match, rather than after a potential match has been found. Bug: v8:12808 Change-Id: Ic9da0bf74f359d4f1c88af89d585404f173056ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3671615Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#80919}
-
- 01 Jun, 2022 1 commit
-
-
Seth Brenith authored
This is a partial reland of https://crrev.com/c/3597106 including fixes from https://crrev.com/c/3654413 Before this change, a script cache key is the same format as an eval cache key, which is a FixedArray containing: - The SharedFunctionInfo of the containing function - The source text - The language mode in which the code was parsed - The position in the source where eval was called After this change, a script cache key is a WeakFixedArray containing: - A weak pointer to the Script - The hash value of the source text This sets up for a subsequent change which can cause these keys to outlive their corresponding values (top-level SharedFunctionInfos) without leaking any memory beyond the key itself. Bug: v8:12808 Change-Id: Ibdfe5d10eafe5b7392e554c500af47975baf45c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3668304Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#80899}
-
- 30 May, 2022 1 commit
-
-
Seth Brenith authored
This is a reland of commit c8848cf4 This change was reverted due to a problem in a preceding change. This relanded version differs in its implementations of the CompilationCacheScript member functions Lookup, Put, and Age, because the intent is to not change any behavior. Original change's description: > CompilationSubCache has some complexity regarding generations of tables > which is only used by one subclass, CompilationCacheRegExp. This change > adjusts the class hierarchy so that classes only contain the necessary > member functions. > > Bug: v8:12808 > Change-Id: I4f4cf15bbf9b80c2de0c18aea82a0c238804759d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3629603 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> > Cr-Commit-Position: refs/heads/main@{#80506} Bug: v8:12808 Change-Id: Ib0621b7de8da86a89752c66907f6a56adff9075d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3665936Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#80825}
-
- 27 May, 2022 1 commit
-
-
Seth Brenith authored
This cleanup is expected to have no observable effects. This is a partial reland of https://crrev.com/c/3597106 Bug: v8:12808 Change-Id: I6b3846f84b804b4a82b2b8601b4c6c93e2779084 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3664015Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#80781}
-
- 25 May, 2022 1 commit
-
-
Seth Brenith authored
This change reverts the following: 400b2cc2 Don't rescue old top-level SharedFunctionInfos Reviewed on https://chromium-review.googlesource.com/c/v8/v8/+/3657472 16a7150b Reland "Disable recompilation of existing Scripts from Isolate compilation cache" Reviewed on https://chromium-review.googlesource.com/c/v8/v8/+/3655011 2df4d58a Fix rehashing of script compilation cache Reviewed on https://chromium-review.googlesource.com/c/v8/v8/+/3654413 c8848cf4 Refactor CompilationSubCache Reviewed on https://chromium-review.googlesource.com/c/v8/v8/+/3629603 25072178 Improve Script reuse in isolate compilation cache, part 1 Reviewed on https://chromium-review.googlesource.com/c/v8/v8/+/3597106 Bug: v8:12808, chromium:1325566, chromium:1325567, chromium:1325601, chromium:1328671, chromium:1328672, chromium:1328678, chromium:1328811, chromium:1328810 Change-Id: I1d318dc172e5214166d3b15f19903186f4fe6024 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3664023Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80744}
-
- 19 May, 2022 1 commit
-
-
Seth Brenith authored
The script compilation cache contains weak pointers to Script objects as its keys. When doing a rehashing operation, any hash table needs the ability to get the hash code for every entry in the table. However, if the weak pointer was cleared from a key, there is no longer any way to get the hash code for that entry. In https://crrev.com/c/3597106 , I attempted to solve this problem by deleting all entries whose keys contain cleared weak pointers prior to rehashing, but the implementation has a bug: when resizing, the new table is allocated after deleting the entries with cleared keys, so if that allocation triggers a GC, the table can once again have entries with cleared keys. This could be solved in a variety of ways, such as: 1. Iterate the entries again and delete those with cleared keys, after allocating the new table but before calling Rehash() to copy data into that new table. This means we can't directly use HashTable::EnsureCapacity, which normally does both the allocation and the rehashing. 2. Return a bogus hash code for entries whose keys contain cleared weak pointers. This is simple but risks poor distribution of data after rehashing. 3. Implement custom rehashing which can avoid copying entries with cleared keys, rather than reusing the rehashing implementation from HashTable. 4. Include the hash value in every key, so a consistent hash value is available even after the weak Script pointer has been cleared. The fourth option sounds like the lowest risk to me, so this change implements that option. Bug: v8:12808 Change-Id: I6b19b9c8af67dcfc31b74842ba581dd141e18845 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3654413Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#80637}
-
- 11 May, 2022 1 commit
-
-
Seth Brenith authored
Once the root SharedFunctionInfo for any Script gets its bytecode flushed, the Isolate's compilation cache currently evicts that entry, to reduce memory usage. However, the associated Script is likely still alive, since scripts often declare functions which outlive the initial evaluation of the script. If an identical script is loaded later, a duplicate Script is created for it, which can waste memory. In this change, I propose that the compilation cache keys can refer weakly to the Script. When the root SharedFunctionInfo gets old, instead of deleting the cache entry entirely, we can just drop the strong reference to the SharedFunctionInfo. A subsequent lookup in the cache will retrieve the Script instead of the root SharedFunctionInfo, indicating an opportunity to save some memory by reusing the existing Script. Eventually, all callers to CompilationCache::LookupScript should reuse the Script if possible. This change implements only the easy case of reusing the Script for synchronous parsing. Follow-up changes will be required for the TODO comments left by this change. Bug: v8:12808 Change-Id: Ia8b0389441a682de9a43e73329049fd2e7835d3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3597106Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80472}
-
- 15 Apr, 2021 1 commit
-
-
Jakob Gruber authored
Some logic still remains, notably in compiler/. Bug: v8:8888 Change-Id: I7e7f10a487e1bc8b90bbbfedbc46bf09bae0717e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2825589 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#73969}
-
- 31 Mar, 2021 1 commit
-
-
Leszek Swirski authored
Remove the requirement to pass the native context into the script cache, simple to be able to access the empty function. Instead, for script cache keys, use Smi::zero() in the 'owner function' slot. This allows CompileUnboundScript to be called outside of a Context scope. Change-Id: I9b4fe6dd43f14944728664f7203b748ced750e76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794440 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73737}
-
- 17 Dec, 2020 1 commit
-
-
Nico Hartmann authored
This CL changes SharedFunctionInfo::GetBytecodeArray to a function template, which is specialized for Isolate and LocalIsolate arguments. This allows main thread only uses to avoid taking a lock. Bug: v8:7790, chromium:1154603 Change-Id: I3462c4e36b66073e09393c01c765dd8a018a98f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595307 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#71833}
-
- 02 Dec, 2020 1 commit
-
-
Jakob Gruber authored
This reverts commit 3599cce1. Originally landed in https://chromium-review.googlesource.com/c/v8/v8/+/2531775 Work on NCI is suspended, remove unused complexity. We may want to share native-context-independent feedback in the future, but probably through other means. Bug: v8:8888 Change-Id: I23dfb67f6f01b4891af87bc42a9e62f99d0bf044 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567701Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#71553}
-
- 17 Nov, 2020 1 commit
-
-
Jakob Gruber authored
This CL enables a first batch of feedback-based optimizations in NCI code. Specifically, optimizations based on unary, binary, compare, for-in-next, and for-in-prepare feedback are now enabled. This has two main implications: 1. NCI code can now deopt. Deoptimized code is currently thrown away permanently and cannot be reused. Now that shared/cached NCI code can deopt, this leads to an interesting question of what should happen with deoptimized NCI code. The answer in this CL is to remove the cache entry (it may later be re-added). 2. Tiering up from NCI to TF still requires feedback; since NCI code, starting with this CL, no longer collects full feedback, feedback must be created in some other way. This is solved by sharing a context-independent encoding of feedback across native contexts. Feedback is shared through a new SerializedFeedback object type, essentially a byte array of serialized feedback. Currently, only smi-based feedback is shared, but map-based feedback will be added in the future. SerializedFeedback is kept in the NCI cache alongside NCI Code objects. It is created on NCI cache insertion, and deserialized upon NCI cache hits. Bug: v8:8888 Change-Id: Ic0d5fbea3aa4d3b0a165624dab9d0283b07dcee7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2531775Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#71224}
-
- 04 Nov, 2020 1 commit
-
-
Jakob Gruber authored
The various compilation caches are tricky to understand. Hopefully some addtl. documentation helps. Bug: v8:8888 Change-Id: I20f2778b5548fcc38724aca600ccf770c240758d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2516476 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#70966}
-
- 03 Nov, 2020 1 commit
-
-
Jakob Gruber authored
Rename files to match contents (src/objects/compilation-cache-table*), and extract implementations from objects.cc into dedicated .cc file. Bug: v8:8888 Change-Id: I02915316ee62186f94373b1859c7d8119a1953f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2516473 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70944}
-
- 13 Jul, 2020 1 commit
-
-
Jakob Gruber authored
This adds a new Code section to the compilation cache (aka isolate cache), and inserts generated native context independent code into it. Cache consumption will be implemented in a following CL. Bug: v8:8888 Change-Id: I997c13da0fe547f395627a48f1cb7e5f19dfc3ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2288851Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68824}
-
- 10 Jul, 2020 1 commit
-
-
Leszek Swirski authored
Rather than marking deleted GlobalDictionary entries with a "The Hole" valued PropertyCell, we now remove those PropertyCells entirely and use the standard HashTable deleted item marker (also the Hole). This comes with several simplifications: 1) We no longer need a customizable IsKey method on HastTable shapes, which was only used by GlobalDictionary to mark "The Hole" cells as not real keys, 2) We can get rid of IsLive/IsKey from the Shape entirely, and define it directly in the HashTable, which will also allow us (in the future) to encourage caching of "undefined" and "Hole" where used for IsKey checks, 3) PropertyCell invalidation doesn't necessarily have to allocate a new replacement cell (specifically, on deletion), nor does it have to deal with cells that contain the Hole, 4) kNeedsHoleCheck is renamed to kMatchNeedsHoleCheck (to be explicit that this is only needed to guard IsMatch, which may do an indentity comparison and thus not need the HoleCheck guard). It's also moved out of BaseShape and into the various shapes that define IsMatch, to make them more explicitly think about the value, 5) Modified some while loops into for loops to allow clearer use of "continue" on successful hole checks. Change-Id: If591cbb6b49d59726bdc615413aba4f78fd64632 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2292230 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#68807}
-
- 06 Jul, 2020 1 commit
-
-
Leszek Swirski authored
This will allow it to take an OffThreadIsolate in the future, without requiring GetIsolate on SharedFunctionInfo. Change-Id: I7db56d5f0587585f829b26e60683c133760d8ff1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2282534Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#68696}
-
- 12 Jun, 2020 1 commit
-
-
Ng Zhi An authored
This default constructor is used in a couple of places (e.g. compilation-cache.cc) to hold a default value that is later overwritten. See https://chromium.googlesource.com/chromium/src/+/HEAD/styleguide/c++/c++-dos-and-donts.md#prefer-to-use. Bug: v8:10488 Change-Id: Ibe4741cebdcf7c350580de3e6b0bd10fd8b7be73 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2240504Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68327}
-
- 03 Mar, 2020 1 commit
-
-
Leszek Swirski authored
Remove Isolate parameters from some dictionary methods, and change others to use ReadOnlyRoots instead, to prepare for Isolate templatization in a future patch. One small side-effect is that the global dictionary's property cell's dependent code deoptimization has to dynamically get the Isolate when it needs to actually mark code for deoptimization, for method signature consistency. Given that this is the slow path anyway, it shouldn't matter. Bug: chromium:1011762 Change-Id: I707de9a74ca3b30423a1e5830a10729d6a404786 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2080369 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#66574}
-
- 02 Mar, 2020 1 commit
-
-
Leszek Swirski authored
Use macros to unify how HashTable (and subclasses) are marked as externally specialised, and how those specialisations are initialised. This cleanup will make it easier in the future to also add specialisations of HashTable methods for Isolate/OffThreadIsolate. Bug: chromium:1011762 Change-Id: Ibb62cf30d3ba40170e1d35ab72ada0f74963a5c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2083023 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66528}
-
- 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}
-
- 25 Feb, 2019 1 commit
-
-
Maciej Goszczycki authored
This means ReadOnlyDeserializer can be made isolate independent. Without this Isolate is needed for rehashing read-only space. Bug: v8:7464 Change-Id: Id2c9968a0ecfa2362f499ded6c7e0f7b2be00dfb Reviewed-on: https://chromium-review.googlesource.com/c/1483054 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#59823}
-
- 09 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
The incremental migration required several pairs of functionally equivalent macros. This patch consolidates everything onto the respective new version and drops the obsolete versions. Bug: v8:3770 Change-Id: I4fb05ff223e8250c83a13f46840810b0893f410b Reviewed-on: https://chromium-review.googlesource.com/c/1398223Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58659}
-
- 26 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Tbr: ahaas@chromium.org,leszeks@chromium.org,verwaest@chromium.org Bug: v8:3770 Change-Id: Ia6530fbb70dac05e9972283781c3550d8b50e1eb Reviewed-on: https://chromium-review.googlesource.com/c/1390116 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58470}
-
- 17 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
FeedbackCell, FunctionTemplateRareData, TemplateInfo, FunctionTemplateInfo, ObjectTemplateInfo Bug: v8:3770 Change-Id: Ic30ff2563fe30088b7740d5e98ade03cdae7fdd8 Reviewed-on: https://chromium-review.googlesource.com/c/1377459 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58274}
-
- 30 Nov, 2018 3 commits
-
-
Ross McIlroy authored
This is a reland of 10ea3f8a Original change's description: > [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code > > Introduces a IsCompiledScope object which can be used to check whether a > function is compiled, and ensure it remains compiled for the lifetime > of the scope without being uncompiled by bytecode flushing. The Compile > functions are modified to take a scope so that calling code can ensure > the function remains compiled for the lifetime they require. > > Also, don't allocate a feedback vector for asm-wasm code as this > is never used, and will be reallocated if the asm-wasm code fails to > instantiate the module and we fallback to regular JavaScript. > > Also restructure Compiler::PostInstantiation() to allocate the feedback > vector once, and do the optimized code check before optimizing for > always opt. > > BUG=v8:8395 > > Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a > Reviewed-on: https://chromium-review.googlesource.com/c/1352295 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57971} TBR=jgruber@chromium.org,mstarzinger@chromium.org Bug: v8:8395 Change-Id: I8dc00798a5680997990c879c3380fe4febd47297 Reviewed-on: https://chromium-review.googlesource.com/c/1357045 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57982}
-
Ross McIlroy authored
This reverts commit 10ea3f8a. Reason for revert: Causing failure on gc_stress bot: https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8928421099411850688/+/steps/Bisect_10ea3f8a/0/steps/Retry/0/logs/collections-construct../0 Original change's description: > [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code > > Introduces a IsCompiledScope object which can be used to check whether a > function is compiled, and ensure it remains compiled for the lifetime > of the scope without being uncompiled by bytecode flushing. The Compile > functions are modified to take a scope so that calling code can ensure > the function remains compiled for the lifetime they require. > > Also, don't allocate a feedback vector for asm-wasm code as this > is never used, and will be reallocated if the asm-wasm code fails to > instantiate the module and we fallback to regular JavaScript. > > Also restructure Compiler::PostInstantiation() to allocate the feedback > vector once, and do the optimized code check before optimizing for > always opt. > > BUG=v8:8395 > > Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a > Reviewed-on: https://chromium-review.googlesource.com/c/1352295 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57971} TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org Change-Id: I1449a02a0aceb9757440757628e586df33972a40 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8395 Reviewed-on: https://chromium-review.googlesource.com/c/1357042Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57974}
-
Ross McIlroy authored
Introduces a IsCompiledScope object which can be used to check whether a function is compiled, and ensure it remains compiled for the lifetime of the scope without being uncompiled by bytecode flushing. The Compile functions are modified to take a scope so that calling code can ensure the function remains compiled for the lifetime they require. Also, don't allocate a feedback vector for asm-wasm code as this is never used, and will be reallocated if the asm-wasm code fails to instantiate the module and we fallback to regular JavaScript. Also restructure Compiler::PostInstantiation() to allocate the feedback vector once, and do the optimized code check before optimizing for always opt. BUG=v8:8395 Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a Reviewed-on: https://chromium-review.googlesource.com/c/1352295Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57971}
-
- 28 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: If405611d359d29ae1958beebd9202e068434a621 Reviewed-on: https://chromium-review.googlesource.com/c/1350286 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57918}
-
- 27 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I4da6404aa968adca1fbb49029fc304622101d6c3 Reviewed-on: https://chromium-review.googlesource.com/c/1349112 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57853}
-
- 23 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I9a3f289ac6236b88476167150565e8183d6f5461 Reviewed-on: https://chromium-review.googlesource.com/c/1345326 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57764}
-
- 05 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
and split Smi out of objects.h into smi.h. Bug: v8:3770, v8:5402 Change-Id: I5ff7461495d29c785a76c79aca2616816a29ab1e Reviewed-on: https://chromium-review.googlesource.com/c/1313035Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#57252}
-
- 31 Oct, 2018 1 commit
-
-
Toon Verwaest authored
We'd flatten upon compile anyway; and hashing the cons string also creates a local flattened version that's not cached. Change-Id: Ib5c82385ab009464b45bf1ceb289d04caaa77fcf Reviewed-on: https://chromium-review.googlesource.com/c/1309827Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#57182}
-
- 14 Sep, 2018 1 commit
-
-
Georg Neis authored
Change-Id: If90c13658713cbfdf06200e49773e67495dce85b Reviewed-on: https://chromium-review.googlesource.com/1225754Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#55891}
-
- 13 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
HeapObject::GetHeap and HeapObject::GetIsolate are gone since https://crrev.com/c/1140319 (landed in July), hence we can clean up the using declarations to force use of the methods declared in NeverReadOnlySpaceObject. R=delphick@chromium.org Bug: v8:7786 Change-Id: Iec4edd394ac57a3f378dd1a9a100320e82cf8ea5 Reviewed-on: https://chromium-review.googlesource.com/1224414Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55863}
-
- 13 Jul, 2018 1 commit
-
-
Dan Elphick authored
All auto-generated with some fix-ups including marking the following classes as NeverReadOnlySpaceObject so their GetIsolate/GetHeap methods are safe to use: Code, CodeDataContainer, AbstractCode, DeoptimizationData, CompilationCacheTable, NormalizedMapCache, Script, SharedFunctionInfo TBR=yangguo@chromium.org Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I6cb5dcca88a0bc99b5afe80f553e06a661b5da3c Reviewed-on: https://chromium-review.googlesource.com/1135306 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54439}
-