- 24 Jul, 2020 1 commit
-
-
Leszek Swirski authored
Allow "iterative" finalization when off-thread finalization is enabled, meaning that each compiled function is finalized immediately after compilation, rather than all functions being first compiled and then finalized. This is what we do on the main thread, and it reduces peak Zone memory usage by being able to discard empty compilation Zones earlier. One necessary functionality for this was being able to defer the finalization of asm.js functions until the main thread pause, since they can't be finalized off-thread -- previously we would just bail out of doing the off-thread finalization if any inner function was asm.js. Bug: chromium:1011762 Change-Id: I21ff69d62eaa93b5ff908624b7115601e36f70f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2282536Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69032}
-
- 15 Jul, 2020 1 commit
-
-
Jakob Gruber authored
When creating a new JSFunction (either through Factory::NewFunction or the FastNewClosure builtin), install the cached Code object if one exists. In the former, this happens explicitly; in the former implicitly through %CompileLazy. Drive-by: Clean up nci tracing methods. Drive-by: Rename maybe_has_... to may_have_cached_code. Bug: v8:8888 Change-Id: I98d87df10df496c45749b3fd76c072c36af45b68 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2294662Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68863}
-
- 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}
-
- 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}
-
- 09 Mar, 2020 1 commit
-
-
Joyee Cheung authored
When looking for private members in an object for the inspector, we check if that object is a class constructor with the a bit has_static_private_methods set on its SFI. If it is, we look for any variables in the context locals with a VariableMode associated with private methods or accessors and a IsStaticFlag being kStatic. This patch also filters out static private methods when inspecting instances. Design doc: https://docs.google.com/document/d/1N91LObhQexnB0eE7EvGe57HsvNMFX16CaWu-XCTnnmY/edit See also: https://docs.google.com/document/d/14maU596YbHcWR7XR-_iXM_ANhAAmiuRlJZysM61lqaE/edit Bug: v8:9839, v8:8330 Change-Id: Idad15349c983898de2ce632c38b0174da10e639d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955664Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#66636}
-
- 03 Mar, 2020 1 commit
-
-
Joyee Cheung authored
When an empty class is nested inside a class with private instance methods, like this: class Outer { constructor() {} #method() {} factory() { class Inner { constructor() { } } return Inner; } run(obj) { obj.#method(); } } The bytecode generator previously generate private brand initialization for the constructor of Inner by mistake, because during scope chain serialization/deserialization, the outer scopes of Inner and factory() are not allocated or serialized (as they are empty). In the eyes of the bytecode generator, it then appeared as if Outer is the direct outer scope of Inner's constructor. In order to work around this information loss, in this patch we rely on SharedFunctionInfo instead of the Context/ScopeInfo chain to maintain the information about private brand initialization. This is done by shrinking expected_nof_properties to 8 bits and freeing 8 bits for a second bitfield on the SFI. Design doc: https://docs.google.com/document/d/14maU596YbHcWR7XR-_iXM_ANhAAmiuRlJZysM61lqaE/edit# Bug: v8:9839, v8:8330, v8:10098 Change-Id: I4370a0459bfc0da388052ad5a91aac59582d811d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2056889 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#66575}
-
- 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}
-
- 25 Feb, 2020 1 commit
-
-
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}
-
- 14 Feb, 2020 1 commit
-
-
Pengyu Chen authored
The method has been non-const since initially introduced in de070ccf. Here's a minor change to make it const, for it may/shall be, for other similar methods are, and for making it easier for future changes (accessing this method in another const method, etc.). Change-Id: I3449214fc086403fc9b24b6f502ca20ac0b1426a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2055123Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66270}
-
- 13 Feb, 2020 1 commit
-
-
Leszek Swirski authored
This is a reland of 453e1a3b Added canonical "empty" arrays to ScannerStream::ForTesting, for the zero-length nullptr data case. Original change's description: > [offthread] Add SFI support to OffThreadFactory > > Add support for off-thread SharedFunctionInfo allocation, which > includes UncompiledData and PreparseData allocation. > > Bug: chromium:1011762 > Change-Id: Ia10f9ce762c7d7eb1108b9e71da75131dce919b7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2050393 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66246} TBR=ulan@chromium.org Bug: chromium:1011762 Change-Id: I37d2c6b9317548922913887940a0164cc2067efb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2054085Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#66253}
-
- 12 Feb, 2020 3 commits
-
-
Maya Lekova authored
This reverts commit 453e1a3b. Reason for revert: Makes UBSan unhappy - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/9893 Original change's description: > [offthread] Add SFI support to OffThreadFactory > > Add support for off-thread SharedFunctionInfo allocation, which > includes UncompiledData and PreparseData allocation. > > Bug: chromium:1011762 > Change-Id: Ia10f9ce762c7d7eb1108b9e71da75131dce919b7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2050393 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66246} TBR=ulan@chromium.org,leszeks@chromium.org,ishell@chromium.org Change-Id: I26bc40ec1c351613f19745aed83f0c3a9fdd9a20 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1011762 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2052172Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#66247}
-
Leszek Swirski authored
Add support for off-thread SharedFunctionInfo allocation, which includes UncompiledData and PreparseData allocation. Bug: chromium:1011762 Change-Id: Ia10f9ce762c7d7eb1108b9e71da75131dce919b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2050393 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66246}
-
Seth Brenith authored
The list of forward declarations required in the generated file bit-fields-tq.h is already somewhat unwieldy and will run into serious problems when we attempt to use enums that are defined within classes, such as JSDateTimeFormat::DateTimeStyle. After a brief discussion today, the cleanest solution we arrived at is to generate macros instead. Change-Id: I654e10efbab5a1a0a340fa565c51ff1da34badaa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2050830Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#66240}
-
- 22 Jan, 2020 2 commits
-
-
Toon Verwaest authored
Changing script context handling from bytecode based to metadata on the function. This fixes the debugger to explicitly check the code rather than implicitly relying on a NewScriptContext bytecode causing side effects. Bug: chromium:1043151 Tbr: ulan@chromium.org Change-Id: I38c5c04d7c76155e0a055ae6efd57f25986bdb7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013117Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#65920}
-
Peter Marshall authored
Reason: Breaks side-effect free debug evaluate for let/const declarations Revert "[interpreter/runtime] Create ScriptContext before Script invocation" This reverts commit 9e51f79e. Revert "[interpreter/runtime] Hole script let/const requiring initialization in NewScriptContext" This reverts commit a128e38f. TBR=verwaest@chromium.org,leszeks@chromium.org,szuend@chromium.org,ulan@chromium.org Bug: chromium:1043151 Change-Id: Ib802789f45f8d7dbb4c2ccc30c6246e32155a92b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013112 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#65915}
-
- 16 Jan, 2020 1 commit
-
-
Toon Verwaest authored
This way we don't need to generate bytecodes to push the context. This drops the stack trace for redeclaration SyntaxErrors but keeps the message location. This is in line with what we do for other SyntaxErrors. Change-Id: Id8e3cc348b4d56a8196753baf51cfd810f07512b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1997439 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#65810}
-
- 08 Jan, 2020 1 commit
-
-
Leszek Swirski authored
Clean up isolate inference and non-allocating/allocating parts of SharedFunctionInfo::InitFromFunctionLiteral, so that it can more easily be refactored for off-thread allocation in the future. Also, make SharedFunctionInfo::SetScript a member function, to acknowledge that it is non-allocating. Bug: chromium:1011762 Change-Id: I26624fceb642dfdf257ec3d96aab31ea90e48870 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991482 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#65639}
-
- 06 Dec, 2019 1 commit
-
-
Seth Brenith authored
This change is the first part of adding Torque support for a "bitfield struct", which represents a set of bitfields packed together into an integer value. With this change, Torque can generate the list of BitField template specializations that allow runtime code to use the bitfield values. The flags used in SharedFunctionInfo are converted to Torque to exercise this functionality. Bitfield values are not yet accessible directly from Torque code. Bug: v8:7793 Change-Id: I9e4a3df7c847111b6e02e513f175dbf938b0be35 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1949047 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65371}
-
- 28 Nov, 2019 1 commit
-
-
Dan Elphick authored
If source positions are not required when a background compilation task starts, but then something like profiling is started before the task finalizes, then logging of the compilation task will crash due to a missing source position table. This ensures source positions are collected if source positions are required during finalization. R=rmcilroy@chromium.org Bug: chromium:1022749 Change-Id: Ie83c3d88131a1c1f434274ea9ee52895c6753b49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1942611 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#65251}
-
- 20 Nov, 2019 1 commit
-
-
Leszek Swirski authored
Since it doesn't allocate, make UncompiledData::Init a member function, consistent with SharedFunctionInfo::Init. Bug: chromium:1011762 Change-Id: I984adf9004193eb9da504ddd39dd95345eccaf82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1926031 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#65076}
-
- 15 Nov, 2019 2 commits
-
-
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}
-
Maya Lekova authored
This helps reduce the number of false positives encountered by the dead variable analysis in gcmole. TBR=jgruber@chromium.org, verwaest@chromium.org, yangguo@chromium.org Bug: v8:9810 Change-Id: I1a34ccaab340e6abc37832b4ce1a0cabc56fa438 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1917146 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64981}
-
- 12 Nov, 2019 1 commit
-
-
Leszek Swirski authored
After allocation of an object, we need to initialize it to make it safe for the GC to see it. For complex objects like SharedFunctionInfo, this initialization code is long and requires understanding of the object. So, it makes sense for the initialization to live in the SharedFunctionInfo code itself (as an Init method) rather than in the factory. Aside from being a neat cleanup, this will allow us to share this initialization logic between different allocation methods, as part of the off-thread allocation project: https://docs.google.com/document/d/1-_96kok0AcavkbcdqqZvpqt_2q-_XWAsAJwbRXlfwCo/ Bug: chromium:1011762 Change-Id: Ie276eb711423272f85abfeb3d88df1826a77b984 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1872402 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64926}
-
- 06 Nov, 2019 1 commit
-
-
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}
-
- 05 Nov, 2019 1 commit
-
-
Benedikt Meurer authored
This removes the feature that we log precise information about functions and scripts in "v8.compile", since it comes at a significant cost and is not going to be used anytime soon. If we ever decide that we need this, we will have to come up with a cheaper way of doing this. Fixed: v8:9874 Tbr: yangguo@chromium.org Bug: v8:8598, v8:9039, v8:9325, v8:9874 Change-Id: I3481570b6fda2a050f05d2ae84cf3e9245f67d52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1898652Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#64783}
-
- 22 Oct, 2019 1 commit
-
-
Georg Neis authored
Instead of logging when SFI inlineability is computed, log when that result is actually used. Moreover, log something in some cases where we logged nothing so far (e.g. when we can't inline due to missing feedback vector). Change-Id: Id93119f4ead17aa9e721eb4fcc20774c54178665 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1873693Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64466}
-
- 07 Oct, 2019 1 commit
-
-
Seth Brenith authored
Just mechanical conversion to remove boilerplate code. When .tq and .h files didn't agree on what a field is named, I used the name from the .h file. In a couple of cases the generated accessor became slightly more specific (HeapObject instead of Object), and I had to update the code that uses those accessors accordingly. Change-Id: Ie3af1590e3889887b167c9d045b07860b01f7d15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776479Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64142}
-
- 13 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
After https://crrev.com/c/1800575 and https://crrev.com/c/1803343, which tried to fix this on occuring compile errors, this CL systematically adds the <memory> include to each header that uses {std::unique_ptr}. R=sigurds@chromium.org TBR=mlippautz@chromium.org,alph@chromium.org,rmcilroy@chromium.org,verwaest@chromium.org Bug: v8:9396 Change-Id: If7f9c3140842f9543135dddd7344c0f357999da0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803349Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63767}
-
- 11 Sep, 2019 1 commit
-
-
Dominik Inführ authored
SharedFunctionInfos that do not belong to a script were tracked in noscript_shared_function_infos. However this was only used in object-stats. Remove this since it was actually leaking memory in some use cases. Bug: v8:9674 Change-Id: I9482f7e5dedf975666a70684b3d2ea04c9a23518 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798423Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#63685}
-
- 06 Sep, 2019 1 commit
-
-
Shu-yu Guo authored
Expressions in class heritage position do not have access to the inheriting class's private names, only its lexical bindings. The parser currently uses the same scope chain for both. This CL makes scopes in class heritage position skip their outer class when resolving private names. Whether a scope needs to skip is kept as a bit on various scope-related data structures. See implementation doc at https://docs.google.com/document/d/1d3o_SQqcICxfjLMw53OOaiIQux0ppNHQJnjZHtCQLwA Bug: v8:9177 Change-Id: I77e491a9d4a261131274f12ddf052af7ac31a921 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1769486 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#63586}
-
- 04 Sep, 2019 1 commit
-
-
Seth Brenith authored
I removed the padding field because I couldn't see a reason why we would want to pad to system pointer size. I'm guessing that the intent was to pad to tagged pointer size, which was once relevant but isn't anymore since one of the int32 fields got removed. Bug: v8:8952 Change-Id: Ic191d783efd8d686f6920e6e7ce2d3dacba883c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776847Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#63556}
-
- 23 Aug, 2019 1 commit
-
-
Shu-yu Guo authored
- Rename FunctionLiteral::FunctionType to FunctionSyntaxKind. - Re-express IsWrappedBit, IsDeclarationBit, IsAnonymousExpressionBit, and IsNamedExpressionBit in SFI::flags as FunctionSyntaxKind. This frees up 1 bit in SFI::flags. - Re-express the analogous bits in ParseInfo as FunctionSyntaxKind. - Simplifies some logic in the back-and-forth passing of this info between SFI and ParseInfo. - Drive-by fix parsing class member initializations as kAccessorOrMethod. Bug: v8:9644 Change-Id: I6c165d5016d968f5057a32136385ddcdc4a46ef1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1767263Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#63388}
-
- 12 Aug, 2019 1 commit
-
-
Ross McIlroy authored
Create canonical ScopeInfos for the global this binding and empty function in the read only space, rather than creating them during bootstrapping for each native context. This saves some memory, and also means we don't need to access the native context to get the global this binding in when deserializing a scope info, which is important since parsing should be native context independent. BUG=chromium:992063 Change-Id: I800f576e8e9b95d46e043cba0c1a03ae19a683c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1748690 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#63174}
-
- 21 Jun, 2019 1 commit
-
-
Ross McIlroy authored
Calling FindIndexInScript performs a linear search on the script functions and can take considerable time. With Bytecode flushing we will lose the function_literal_id and have to call FindIndexInScript if we ever recompile the flushed function. This can take a significant proportion of the recompilation time and has caused regressions in rendering times for some web applications (e.g, 395ms in FindIndexInScript for 132ms spent lazily re-compiling code). To avoid this, add function_literal_id back into the SFI and remove it from UnoptimizedCompileInfo. This will slightly regress memory usage (particularly in cases where many of the SFIs are compiled), however it means we can remove the FindIndexInScript function and avoid these long-tail regressions when bytecode is flushed. BUG=chromium:965833 Change-Id: Ia31e82eb6c871a6d698a518326a8555822a7a1d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1669700Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#62319}
-
- 04 Jun, 2019 1 commit
-
-
Leszek Swirski authored
Avoid the linear lookup of function literal id when getting the shared function info TraceID, by optionally passing through a FunctionLiteral. Additionally, use the FunctionLiteralId helper when a FunctionLiteral is not available, since it can also fast-path in some cases. As a drive-by, allow using a ScriptIterator without an Isolate pointer (e.g. manually creating a handle) to allow calling FunctionLiteralId without an Isolate pointer. Bug: v8:9325 Change-Id: Ibfa053f300d6d5005485c67174a848264a5d1372 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1643429 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61983}
-
- 23 May, 2019 2 commits
-
-
Michael Starzinger authored
This makes the WebAssembly function constructor return a proper function object. Note that the returned object is not yet callable, only the prototype structure is in place. R=jkummerow@chromium.org TEST=mjsunit/wasm/type-reflection BUG=v8:7742 Change-Id: If6a3d0ae7078b5526606eef1b8fd4815353b850b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627343 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#61792}
-
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}
-
- 22 May, 2019 1 commit
-
-
Sigurd Schneider authored
This is mainly a torque change, but as a drive-by we get rid of kStartOfPointerFieldsOffset kEndOfTaggedFieldsOffset which often are used to enclose a section of pointers in an object. Bug: v8:7793 Change-Id: I52d83d09249a3cc6a99e7e7506e154ccfca53a12 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615249 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61722}
-
- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 14 May, 2019 1 commit
-
-
Sigurd Schneider authored
This CL introduces the new suffix '-tq' for Torque generated files, and replaces the infix 'FromDSL' in type names with a prefix 'TorqueGenerated'. Change-Id: I1e90460cc0c666da6cf5017e8b3cb7c39c6ac668 Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609798 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61490}
-