- 25 Nov, 2019 1 commit
-
-
Georg Neis authored
Allow sharing of hints and modification of shared hints such that feedback can be propagated to the hints for the corresponding register, AND all alias registers. Even propagation from an inlined callee back to the caller is possible. Bug: v8:7790 Change-Id: I96b3c5e41613efa5711ab758db1c3ef7f7ae6418 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914560 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#65139}
-
- 22 Nov, 2019 1 commit
-
-
Mike Stanton authored
FunctionBlueprint holds a SharedFunctionInfo, FeedbackVector and a Hints object that represents what we know about the Context of the "function-to-be." Since we occasionally synthesize a FunctionBlueprint object from a JSFunction (when we have it), it can happen that sometimes the Context hint is a concrete Context object, and other times it's a VirtualContext, representing a context created sometime during the bytecode execution of the function under optimization. Moreover, both such FunctionBlueprints can exist in the same run due to the vagaries of CALL_IC feedback (ie, sometimes you have a JSFunction, other times you don't). More details in doc: https://docs.google.com/document/d/1F1FxoDzlaYP5l5T6ZcZacV3LCUp5elcez05KWj-Mp78/edit?usp=sharing Bug: crbug:1024282 Change-Id: Id4055531333b3dcbdb93afd23d9a226728292e11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1926151 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#65127}
-
- 18 Nov, 2019 1 commit
-
-
Georg Neis authored
The serialization of Construct was accidentally using the wrong hints for the receiver. Also, the recursion in ProcessCallOrConstruct was not quite right: for example, it overwrote the accumulator hints in each recursion. With this CL the Octane raytrace score for --concurrent-inlining is back to the default configuration's score. Bug: v8:7790 Change-Id: I501c9cc0b0c8de04520742b9c6b392a4a732bf78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1921789 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#65011}
-
- 15 Nov, 2019 1 commit
-
-
Georg Neis authored
Bug: v8:7790 Change-Id: Ibfc83828c8677901caa4e04e2b88915ddabeed49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1918245 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64984}
-
- 13 Nov, 2019 1 commit
-
-
Mike Stanton authored
When simulating bytecode, we store the current environment at the site of the appropriate catch handler when entering a try range. If the start of the try range is dead, we don't bother to store an environment. However, generators can create alive regions inside the try range. At such moments, we should recognize we're in a try range and store the environment for the handler. Bug: chromium:1017159 Change-Id: Icccc2ccf530895099bc62b97d9aaec8b97d5f4e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879247Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#64929}
-
- 11 Nov, 2019 1 commit
-
-
Maya Lekova authored
When the serializer encounters a JSConstruct, it now serializes the initial map of the new_target to enable further opitmizations in JSNativeContextSpecialization. Add regression tests as well. Bug: v8:7790 Change-Id: Ifab2b58c64a341744e833ed063e9695d74a5cdce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1900457 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64886}
-
- 07 Nov, 2019 1 commit
-
-
Nico Hartmann authored
Bug: chromium:1021712 Change-Id: I9523760f2fa11726dd7015058b2267035f3f9f7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903442 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64842}
-
- 04 Nov, 2019 2 commits
-
-
Nico Hartmann authored
Changing the target of JSCall nodes (e.g. while lowering higher order calls) now preserves feedback and speculation mode to allow further (speculative) optimizations. A flag is introduced to mark feedback unrelated to the call target after such a transformation. This flag is used to prevent access to the feedback without the need to invalidate it. Bug: v8:9702 Change-Id: I311d3a4b1b22d6f65e5837a23b0b7585c8d75eed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844788 Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64733}
-
Michaël Zasso authored
This fixes a compilation error in Node.js with Xcode: initialize the const member 'blueprint_'. error: constructor for 'v8::internal::compiler::Callee' must explicitly Change-Id: Ia55398428d0de35a9ad5132eabd22d0adb694514 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895561 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64719}
-
- 31 Oct, 2019 1 commit
-
-
Maya Lekova authored
Implement the possibility to revisit the same function in the serializer using equality of its arguments. Bug: v8:7790 Change-Id: I609a6009bf503e378e50d0b32c6f1c13721d2557 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863198 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64683}
-
- 28 Oct, 2019 2 commits
-
-
Victor Gomes authored
We know statically if a context has an extension slot or not, but that was dynamically checked. The CL lifts the ScopeInfo chain to the compiler and does the check statically, it only generates the undefined check if the context has an extension slot. Bug: v8:9744 Change-Id: I169d05bb11b36501e97af00d30ae44bedcd6be83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876051 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64599}
-
Maya Lekova authored
Bug: chromium:1018565 Change-Id: I72d41573a9a8c2f1a235ff50e918f89b1dc3f585 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879904 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64588}
-
- 24 Oct, 2019 1 commit
-
-
Mike Stanton authored
Add VirtualBoundFunction to the serializer which takes care of processing the result of Function.prototype.bind. Add cctest and an mjsunit test. Bug: v8:7790 Change-Id: Ic2b48d356cbe3b576eb22f58215cc886a8994e31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859625 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64548}
-
- 22 Oct, 2019 2 commits
-
-
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}
-
Jakob Gruber authored
The natives blob was deprecated in V8 7.8. This CL removes all related functionality, including: - Build system support, i.e.: generation of natives_blob.bin and the v8_extra_library_files gn flag. - Related scripts (js2c.py, concatenate-files.py). - Related API functions (SetNativesDataBlob, InitializeExternalStartupData). - Natives bootstrapping logic. - The InternalArray type (previously exposed through natives). - Other natives-exposed builtins. - Inlining of these builtins. - The dedicated 'uncached external one byte string' type. Step 1 landed in https://crrev.com/c/1824944. Step 2 landed in https://crrev.com/c/1835536. Step 3 (this CL) removes these all functionality related to natives support in V8. Bug: v8:7624 Change-Id: Ice6c2662781efe8417231805276476d32bc5a625 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1844771 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Tamer Tas <tmrts@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64446}
-
- 21 Oct, 2019 1 commit
-
-
Mike Stanton authored
TurboFan can normally inline an arrow function closure callback like: [1, 2, 3].map(x => x * x); The serializer has information to support this in the form of FunctionBlueprint Hints, though it's not exploiting them. This CL remedies that. Bug: v8:7790 Change-Id: I8fc10f04ffc9bd2ea03cd761e8a5a41258000c76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863939Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#64409}
-
- 17 Oct, 2019 1 commit
-
-
Mike Stanton authored
The serializer doesn't correctly propagate environment information from try blocks into their catch handlers, and this impedes optimizations that fire when we compile concurrently. function bar(x) { try { boom(); // throws } catch(_) { return x.a; } } function foo() { return bar({a: 42}); } When foo is optimized, we can normally return the constant 42 directly. This CL makes that work for concurrent inlining. Bug: v8:7790 Change-Id: Id1c5fd06d51ec6fe69ab10fbd65afd6fa7e76820 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863193Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#64352}
-
- 14 Oct, 2019 1 commit
-
-
Maya Lekova authored
This analysis shows the number of used/unused refs as well as their by-type distribution and outputs the broker zone memory. It introduces a new flag --trace-heap-broker-memory. Doc: https://docs.google.com/document/d/1oUMxlC2YbficEVkQ1X8TK9WNCWRmLqzDRFy4z3cJsII/edit#heading=h.3sde9siqk2yw Bug: v8:9720 Change-Id: I4fafc225134d0548e976ce00d67bd5cabeda60c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849526 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64269}
-
- 11 Oct, 2019 1 commit
-
-
Jakob Kummerow authored
This is for consistency and compiler-enforced type safety. No change in behavior intended. Change-Id: I31467832ba6c63fd5f97df9fee6221559b283d67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852766 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64244}
-
- 09 Oct, 2019 2 commits
-
-
Georg Neis authored
When simulating how standard higher-order builtins call their function argument, we were inconsistent and imprecise in what hints we used for the arguments. Bug: v8:7790 Change-Id: I9a76225f0f036f3e7ce1a62644204790e4eba74d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849519 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64196}
-
Georg Neis authored
Due to https://chromium-review.googlesource.com/c/v8/v8/+/1835541 it's now possible that we reach ProcessApiCall without any arguments hints. I don't know how to test this in d8. Bug: chromium:1011727, v8:7790 Change-Id: I556f562515548c6355ff2358e635a2e1fc3974a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847157Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64187}
-
- 04 Oct, 2019 3 commits
-
-
Georg Neis authored
It was on JSGlobalProxyRef but in reality the property cells exist in the global object, not in the global proxy. Bug: v8:7790 Change-Id: Ia7bd5731c730db09602a1aec61b64b1355abf6a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1841352 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64112}
-
Mike Stanton authored
A slow dcheck can verify that hints are equal for the same SharedFunctionInfo+FeedbackVector combo. Bug: v8:7790 Change-Id: I43dcacf19c857770b609d13c310835a873c814fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835952 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#64109}
-
Georg Neis authored
Recursively serialize arguments to higher-order functions if appropriate. This should recover all or most of the Deltablue regression with --concurrent-inlining. It is also a prerequisite to allowing speculation in the call reducer for these situations. Bug: v8:7790, v8:9702 Change-Id: I1ac8ac8b8e4dc0f2e19c89aacfb45d18f2df190f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835541 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64108}
-
- 30 Sep, 2019 1 commit
-
-
Georg Neis authored
This fixes a bug in the optimization concerning detached or re-attached global proxies. Bug: v8:7790 Change-Id: Ifd30b88361914430bb373d4b64a76e33ccde37e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809361Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64035}
-
- 27 Sep, 2019 1 commit
-
-
Mike Stanton authored
Almost everywhere, we use the ProcessedFeedback abstraction to query feedback in the compiler. The remaining exception is in handling RegExp, Object and Array literals. By bringing this in line with other feedback queries, we no longer need to serialize all feedback vector slots (possibly wasteful of memory), and offer a uniform way to pick up feedback everywhere. Bug: v8:7790, v8:9396 Change-Id: Ice42587595fe30bebfbd7835d2b2e9e49601c92e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1807358 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64016}
-
- 24 Sep, 2019 1 commit
-
-
Georg Neis authored
R=mslekova@chromium.org Bug: v8:7790 Change-Id: Ie6cc694ac3d11bdd454c2f6d23e24b4fdd59b00e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1822039Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63950}
-
- 18 Sep, 2019 1 commit
-
-
Mike Stanton authored
The serialization step in the pipeline gets an initial zone, and thus far, it's allocated all of it's hinting information in that zone. However, much of this comes from stepping into calls and walking the bytecode of the called function. Once we finished recursing into a call, we should be able to throw all those hints away -- they've served their purpose, and the "output" of their work is a set of new objects made visible to the broker. Therefore, we should create and destroy a child zone. On a run of typescript, this reduces absolute max (high water mark) allocation of the serialization phase from 10 MB to 5 MB. Bug: v8:7790 Change-Id: Icbb35abed28b1a924328541df82be23594152a8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800570Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#63872}
-
- 17 Sep, 2019 1 commit
-
-
Maya Lekova authored
Bug: v8:9720 Change-Id: I681c521c7d368148d41aaa4a0694194e33d9a091 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800578 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63824}
-
- 16 Sep, 2019 1 commit
-
-
Georg Neis authored
We used to have two special cases for named accesses on the global proxy, one based on seeing the global proxy constant in the graph and on based on seeing the global proxy map either in the feedback or in the graph. A change I made a while ago accidentally disabled the second one. This CL restores that. Moreover, given how things are set up now (this might have been different before), the first optimization is subsumed by the second one, so this CL also removes the first one. Finally, this CL records an accumulator hint in the case of a load, which improves precision of the serializer for concurrent inlining. Tbr: tebbi@chromium.org Bug: v8:7790 Change-Id: I255afc6c79e5c5c900b3ccfcd8459d836d21e42b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801954 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#63806}
-
- 12 Sep, 2019 2 commits
-
-
Maya Lekova authored
Bug: v8:7790 Change-Id: Ief620bc24b59c2a4e0c823a7f7cebf5df114b9a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1787430 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#63714}
-
Maya Lekova authored
Bug: v8:7790 Change-Id: I1abffc574b1d9964940625b1f15fc4d98f170b7b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798682 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63710}
-
- 06 Sep, 2019 1 commit
-
-
Swapnil Gaikwad authored
This is a reland of 8b89a7c3 Reland after disabling the test getting deadlocked with '--gc_stress' flag. The CL was reverted because of the 'wasm/grow-shared-memory' test from the mjsunit test suite deadlocked for the 'gc_stress' variant. This is the known issue (v8:9221) and the deadlocking test is now disabled ( https://chromium.googlesource.com/v8/v8.git/+/1c8981e3f4729b7a8220a8823e0a0d45f2a4b788). Original change's description: > Update GetIterator bytecode to load and call object[Symbol.iterator] > > The functionality of the GetIterator bytecode introduced previously is > now extended from loading the @@iterator property to calling the property > as well. This change basically absorbs the functionality of additional > two bytecodes - Star, CallProperty0 in the GetIterator bytecode. > Importantly, this change handles the cases of eager and lazy deoptimization > in the middle of the bytecode, i.e., lazy deopt for LdaNamedProperty and > eager deopt of the CallProperty0 bytecode, using the continuation builtins. > This mechanism can work as a template for the future bytecode that require > handling such inter-bytecode deopt scenario. The tests evaluating the eager > and lazy deopt scenarios are also included. > > Bug: v8:9489 > Change-Id: I93eb022bbc3d37582407820aa8482a343cac6c12 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758313 > Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63528} Bug: v8:9489,v8:9221 Change-Id: I4286255aef457bfdbbe5eb50fc6dabdf9c0955b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1787427Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com> Cr-Commit-Position: refs/heads/master@{#63599}
-
- 04 Sep, 2019 1 commit
-
-
Georg Neis authored
This is a reland of ab089c78, after making a flaky test more robust. Original change's description: > [turbofan] Prepare for moving part of CreateGraph into the background > > - Pass Refs, not Handles, to graph builder, and drop bytecode array argument > (get it from SFI instead). > - Add some fields to FeedbackVectorRef that are needed to avoid heap access > in BytecodeGraphBuilderPhase. > - Rename FeedbackVectorRef's SerializeSlots to Serialize, since it's more > than just the feedback slots. > - Rearrange the last steps in PipelineCompilationJob::PrepareJobImpl such > that CreateGraph is last. > > Bug: v8:7790 > Change-Id: I4b17790d1d74da41ba63ee68e3a33968662fc398 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781682 > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63515} Bug: v8:7790 Change-Id: Ia6f4c1ebd82dea93c14437514d0e25b730523f75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781694Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63545}
-
- 03 Sep, 2019 6 commits
-
-
Francis McCabe authored
This reverts commit 8b89a7c3. Reason for revert: GC Stress tests timing out. See https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24272 Original change's description: > Update GetIterator bytecode to load and call object[Symbol.iterator] > > The functionality of the GetIterator bytecode introduced previously is > now extended from loading the @@iterator property to calling the property > as well. This change basically absorbs the functionality of additional > two bytecodes - Star, CallProperty0 in the GetIterator bytecode. > Importantly, this change handles the cases of eager and lazy deoptimization > in the middle of the bytecode, i.e., lazy deopt for LdaNamedProperty and > eager deopt of the CallProperty0 bytecode, using the continuation builtins. > This mechanism can work as a template for the future bytecode that require > handling such inter-bytecode deopt scenario. The tests evaluating the eager > and lazy deopt scenarios are also included. > > Bug: v8:9489 > Change-Id: I93eb022bbc3d37582407820aa8482a343cac6c12 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758313 > Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63528} TBR=rmcilroy@chromium.org,neis@chromium.org,leszeks@chromium.org,tebbi@chromium.org,swapnilgaikwad@google.com Change-Id: I9ae475f71275f71f1b9e60b8bf0578e21ce2704b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9489 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1783736Reviewed-by:
Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#63536}
-
Swapnil Gaikwad authored
The functionality of the GetIterator bytecode introduced previously is now extended from loading the @@iterator property to calling the property as well. This change basically absorbs the functionality of additional two bytecodes - Star, CallProperty0 in the GetIterator bytecode. Importantly, this change handles the cases of eager and lazy deoptimization in the middle of the bytecode, i.e., lazy deopt for LdaNamedProperty and eager deopt of the CallProperty0 bytecode, using the continuation builtins. This mechanism can work as a template for the future bytecode that require handling such inter-bytecode deopt scenario. The tests evaluating the eager and lazy deopt scenarios are also included. Bug: v8:9489 Change-Id: I93eb022bbc3d37582407820aa8482a343cac6c12 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758313 Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63528}
-
Maya Lekova authored
This is a reland of d82600ec Added missing builtin serializations that were breaking Clusterfuzz, layout tests and Speedometer. Original change's description: > [turbofan] Serialize missing objects > > Added a few objects to the standard objects list, as well as specific > builtins when the corresponding runtime calls are detected in the > serializer. Now JSHeapCopyReducer is needed only when concurrent > inlining is disabled. > > Bug: v8:7790 > Change-Id: I91d933611b0352df8ede4fded665f13669591fef > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781053 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63509} Bug: v8:7790, chromium:1000136 Change-Id: I4775014bfe8100fb76f60e4088f1bdf2a8da64a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781681 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63525}
-
Leszek Swirski authored
This reverts commit ab089c78. Reason for revert: Breaking GC stress (https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/27523) Original change's description: > [turbofan] Prepare for moving part of CreateGraph into the background > > - Pass Refs, not Handles, to graph builder, and drop bytecode array argument > (get it from SFI instead). > - Add some fields to FeedbackVectorRef that are needed to avoid heap access > in BytecodeGraphBuilderPhase. > - Rename FeedbackVectorRef's SerializeSlots to Serialize, since it's more > than just the feedback slots. > - Rearrange the last steps in PipelineCompilationJob::PrepareJobImpl such > that CreateGraph is last. > > Bug: v8:7790 > Change-Id: I4b17790d1d74da41ba63ee68e3a33968662fc398 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781682 > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63515} TBR=neis@chromium.org,mslekova@chromium.org Change-Id: I4dc95907657597d12cbe1ce6a8ebb694ef44e915 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7790 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781687Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#63517}
-
Georg Neis authored
- Pass Refs, not Handles, to graph builder, and drop bytecode array argument (get it from SFI instead). - Add some fields to FeedbackVectorRef that are needed to avoid heap access in BytecodeGraphBuilderPhase. - Rename FeedbackVectorRef's SerializeSlots to Serialize, since it's more than just the feedback slots. - Rearrange the last steps in PipelineCompilationJob::PrepareJobImpl such that CreateGraph is last. Bug: v8:7790 Change-Id: I4b17790d1d74da41ba63ee68e3a33968662fc398 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781682Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63515}
-
Maya Lekova authored
This reverts commit d82600ec. Reason for revert: Blocking the roll, see https://ci.chromium.org/p/chromium/builders/try/linux-rel/181725 Original change's description: > [turbofan] Serialize missing objects > > Added a few objects to the standard objects list, as well as specific > builtins when the corresponding runtime calls are detected in the > serializer. Now JSHeapCopyReducer is needed only when concurrent > inlining is disabled. > > Bug: v8:7790 > Change-Id: I91d933611b0352df8ede4fded665f13669591fef > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781053 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63509} TBR=neis@chromium.org,mslekova@chromium.org Change-Id: I5eb8a8371994822debb852fc2a090ba585826d4a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7790 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1782157Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63514}
-