- 17 Aug, 2018 1 commit
-
-
Sigurd Schneider authored
This reduced the number of targets depending on assembler.h from ~900 to ~350. Bug: v8:8054 Change-Id: I74ae2ce7a4b27791d0ee25542ee0b2175bedf5f7 Reviewed-on: https://chromium-review.googlesource.com/1174534 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55188}
-
- 26 Jul, 2018 1 commit
-
-
Michael Lippautz authored
Move write barrier essentials into heap/heap-write-barrier-inl.h. Avoid including further heap inline headers by relying on constant to load flags from. Bug: v8:7490 Change-Id: I2891299f1b1ca2c3e2031cb9c63b583b1665e3f9 Reviewed-on: https://chromium-review.googlesource.com/1148448 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54710}
-
- 25 Jul, 2018 1 commit
-
-
Caitlin Potter authored
Includes fixes for several ClusterFuzz regressions: 1) fix an invalid Handle-cast in ic.cc (chromium:866282) 2) fix for improper accounting of used/unused inobject fields, found by clusterfuzz (chromium:866357). 3) fix number of control outputs for the JSCloneObject operator to be used by IfSuccess and IfException nodes (chromium:866727). 4) fix property constness in out-of-object properties of fast-cloned object to be compatible with DCHECKs in StoreIC (chromium:866861). Also includes the fixups missing from the initial commit, and regression tests BUG=v8:7611, chromium:866282, chromium:866357, chromium:866727, chromium:866861 R=jkummerow@chromium.org, mvstanton@chromium.org TBR=rmcilroy@chromium.org Change-Id: I77220308482f16db2893c0dcebec36530d0f5540 Reviewed-on: https://chromium-review.googlesource.com/1146297 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#54706}
-
- 20 Jul, 2018 1 commit
-
-
Caitlin Potter authored
As discussed in https://docs.google.com/document/d/1sBdGe8RHgeYP850cKSSgGABTyfMdvaEWLy-vertuTCo/edit?ts=5b3ba5cc#, this CL introduces a new bytecode (CloneObject), and a new IC type. In this prototype implementation, the type feedback looks like the following: Uninitialized case: { uninitialized_sentinel, uninitialized_sentinel } Monomorphic case: { weak 'source' map, strong 'result' map } Polymorphic case: { WeakFixedArray with { weak 'source' map, strong 'result' map }, cleared value } Megamorphic case: { megamorphic_sentinel, cleared_Value } In the fast case, Object cloning is done by allocating an object with the saved result map, and a shallow clone of the fast properties from the source object, as well as cloned fast elements from the source object. If at any point the fast case can't be taken, the IC transitions to the slow case and remains there. This prototype CL does not include any TurboFan optimization, and the CloneObject operation is merely reduced to a stub call. It may still be possible to get some further improvements by somehow incorporating compile-time boilerplate elements into the cloned object, or simplifying how the boilerplate elements are inserted into the object. In terms of performance, we improve the ObjectSpread score in JSTests/ObjectLiteralSpread/ by about 8x, with substantial improvements over the Babel and ObjectAssign scores. R=gsathya@chromium.org, mvstanton@chromium.org, rmcilroy@chromium.org, neis@chromium.org, bmeurer@chromium.org BUG=v8:7611 Change-Id: I79e1796eb77016fb4feba0e1d3bb9abb348c183e Reviewed-on: https://chromium-review.googlesource.com/1127472 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#54595}
-
- 18 Jul, 2018 1 commit
-
-
Marja Hölttä authored
Now we can finally get rid of Map::weak_cell_cache! BUG=v8:7308 Change-Id: I87a06509bf638bf6833ea2ba1eca525fb4b15df1 Reviewed-on: https://chromium-review.googlesource.com/1128882 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54511}
-
- 17 Jul, 2018 1 commit
-
-
Dan Elphick authored
Ran GetIsolate/GetHeap removal script over all the header files included into objects.cc. Affected classes include: ScriptContextTable RuntimeCallTimerScope GlobalDictionaryShape Map LookupIterator PrototypeIterator FixedArrayBuilder Manually fixed up Map to mark its write operations as safe for GetIsolate since they modify the object as so can't be done in RO_SPACE. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2fd0960f085d1bcb4cf54b3418899ac0217917ca Reviewed-on: https://chromium-review.googlesource.com/1138076 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54488}
-
- 12 Jul, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7754,v8:5402 Change-Id: Iccbf453e6b27e4e2604bd3f074882bf864e01070 Reviewed-on: https://chromium-review.googlesource.com/1131129Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#54399}
-
- 10 Jul, 2018 1 commit
-
-
Dan Elphick authored
Heap::InNewSpace only needs to access the heap for a DCHECK and the part that uses the heap only needs it if the object is in NEW_SPACE, in which case getting it via pointer magic is fine. Bug: v8:7786 Change-Id: Iaac237a3b8bcc9d55e436e3f972475e04b97f1f8 Reviewed-on: https://chromium-review.googlesource.com/1127798 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54345}
-
- 05 Jul, 2018 1 commit
-
-
Leszek Swirski authored
Replace Is<oddball>(GetIsolate()) calls with a no-parameter version that goes through ReadOnlyRoots, and add a version that takes a ReadOnlyRoots if that is available in the parent (but Isolate isn't). Also opportunistically clean up a few places where ReadOnlyRoots are available but we still pass in an Isolate parameter. TBR=yangguo@chromium.org Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Icc0b8a7d8f9c6b84c0ec8fe771fcfb75c9dc5468 Reviewed-on: https://chromium-review.googlesource.com/1126302Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54245}
-
- 03 Jul, 2018 2 commits
-
-
Dan Elphick authored
In future the RO_SPACE root accessors in Heap will become private, so instead convert them all to use ReadOnlyRoots. Bug: v8:7786 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ia24803003f1e6ce0782dffe448c662695620f026 Reviewed-on: https://chromium-review.googlesource.com/1124326 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54182}
-
Dan Elphick authored
Adds a ReadOnlyRoots class trivially constructable from a Heap* or Isolate* and which can be obtained from a any HeapObject which provides access to roots objects that will always be in RO_SPACE. In the longer term this object will be accessed via a global variable without requiring an Isolate or using the memory address of a HeapObject to infer it. Moves the list macros in heap.h to roots.h and splits some of them into two parts (read-only and mutable). Convert cases of heap_object->GetHeap()->root_accessor() to heap_objects->GetReadOnlyRoots().root_accessor(). Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I14b01052adb2af9a5ec82b970e933d6a423d17a5 Reviewed-on: https://chromium-review.googlesource.com/1122127 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54160}
-
- 25 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Roughly: GetIsolate(): -31 handle(HeapObject): -6 TBR=verwaest@chromium.org Bug: v8:7786 Change-Id: I3857f8c45f1f93c727d575d5f9244d9811949a7f Reviewed-on: https://chromium-review.googlesource.com/1111838Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53997}
-
- 21 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic00953a5375f60b61a093234c03ce0df41dbe228 Reviewed-on: https://chromium-review.googlesource.com/1110125Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53944}
-
- 12 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Introduce debug-only non-isolate versions of oddball checks so that we can check for oddballs in DCHECKs without requiring an isolate. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I97ee22fb99b23dbfa5d2d0bc7c6b22392d16d694 Reviewed-on: https://chromium-review.googlesource.com/1094875Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53662}
-
- 05 Jun, 2018 1 commit
-
-
Dan Elphick authored
Removes all explicit calls to GetIsolate() in transitions.cc by passing it through calling functions and implicit calls via the single argument Handle constructor and handle function. Unfortunately in the interests of making these changes vaguely manageable, I've also pushed some new GetIsolates down into objects-debug.cc, objects-printer.cc and objects.cc. Bug: v8:7786 Change-Id: I1f98530dec6c004e17dc3336f3cef09fbb446bae Reviewed-on: https://chromium-review.googlesource.com/1085451 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53518}
-
- 29 May, 2018 1 commit
-
-
Sebastien Marchand authored
see crbug.com/841460 , we recently hit some build issues when using Goma + jumbo builds because of a conflict on the definition of CONST, v8 defines it in globals.h and including windows.h also defines it. It should be possible to fix this by adding a bunch of #undef CONST but it seems a little bit hacky and might not always work (this could only fix the problem temporary if the jumbo merge limit changes and cause some include files to get included in a different order). Renaming the v8 definition of CONST to kConst, this follows the style guide guidelines: "there is no reason to change old code to use constant-style names, unless the old names are actually causing a compile-time problem" (https://google.github.io/styleguide/cppguide.html#Enumerator_Names) I also had to turn the PropertyConstness enum into an enum class to avoid some conflicts (both PropertyConstness and VariableMode define kConst). Bug: chromium:841460 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2b70b9095374e88a5ae364cc557b39f20a3ab60f Reviewed-on: https://chromium-review.googlesource.com/1064197Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org> Cr-Commit-Position: refs/heads/master@{#53413}
-
- 24 May, 2018 1 commit
-
-
Marja Hölttä authored
Moving them away was a mistake. Fixing this enables getting rid of a bunch of includes. BUG=v8:5402 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I5482eab4281c7450350f058fe0a04a6f375ea082 Reviewed-on: https://chromium-review.googlesource.com/1070188Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53328}
-
- 02 May, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:5402,v8:7570 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I56beb15109a3557ba514e8d17880b1a37a109031 Reviewed-on: https://chromium-review.googlesource.com/1032552Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52908}
-
- 27 Apr, 2018 2 commits
-
-
Dan Elphick authored
Allocates almost all maps found in the start up snapshot into RO_SPACE. There are 2 JSObject maps that are excluded as they contain a mutable cell. Also updates VerifyReadOnlyPointers to check that RO_SPACE objects' maps are also in RO_SPACE. Previously the invariant did not hold for Strings which still had their maps in MAP_SPACE. Also moves invalid_prototype_validity_cell to RO_SPACE. RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE old 22024 0 229184 32928 8184 0 new 31488 0 229184 32928 176 0 Bug: v8:7464 Change-Id: I870d22cc5234ba60b3ef8a2ada590ee6ae426c9f Reviewed-on: https://chromium-review.googlesource.com/1013494Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52848}
-
Marja Hölttä authored
BUG=v8:5402,v8:7570 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ia97efa31495b371805eb469be8395aaa19c7628d Reviewed-on: https://chromium-review.googlesource.com/1032431Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52841}
-
- 05 Apr, 2018 1 commit
-
-
Marja Hölttä authored
Previous: https://chromium-review.googlesource.com/972962 BUG=v8:7308 Change-Id: I6882e36ad9f9360d006937a2f41b07839a73a768 Reviewed-on: https://chromium-review.googlesource.com/995014Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52404}
-
- 28 Mar, 2018 2 commits
-
-
Marja Hölttä authored
This reverts commit 61195eb6. Reason for revert: breaks gc stress Original change's description: > [in-place weak refs] Replace the WeakCell potentially in Map::raw_transitions_. > > BUG=v8:7308 > > Change-Id: I3021df5f6dfd02d85ed9fe1903f9c0850f92168d > Reviewed-on: https://chromium-review.googlesource.com/972962 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52272} TBR=ulan@chromium.org,marja@chromium.org Change-Id: I218b4d767da5095e5c5fee650567eb41343b347e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Reviewed-on: https://chromium-review.googlesource.com/983812Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52275}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: I3021df5f6dfd02d85ed9fe1903f9c0850f92168d Reviewed-on: https://chromium-review.googlesource.com/972962 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52272}
-
- 23 Mar, 2018 1 commit
-
-
Igor Sheludko authored
This eases transition handlers caching and avoids memory overhead of respective StoreHandler objects. In addition, it allows to use such transition handlers on runtime side to make Object.assign implementation a bit faster. Bug: v8:5988 Change-Id: Iba660a11d4b300cd5f80615fb7e2608e53da8fee Reviewed-on: https://chromium-review.googlesource.com/931701Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52187}
-
- 19 Mar, 2018 1 commit
-
-
Marja Hölttä authored
For problems with the current approach, see crbug.com/v8/7564. We can instead gather all weak references in code in VisitEmbeddedPointer. BUG=v8:7564, v8:7308 Change-Id: Ib369e7ab9efd62c90bdac69835318929c58217f2 Reviewed-on: https://chromium-review.googlesource.com/968250 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52041}
-
- 01 Mar, 2018 1 commit
-
-
Igor Sheludko authored
This is a first step towards using Maps as store transition handlers. It is expected for this CL to noticeably regress memory consumption but most of it should be recovered by the next CL. Bug: v8:5988 Change-Id: Ic2e301f9ccebc36e699383ded8c8cd284a906ce1 Reviewed-on: https://chromium-review.googlesource.com/928646 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#51663}
-
- 08 Feb, 2018 1 commit
-
-
Adam Klein authored
This reverts commit 14108f4c. Reason for revert: Not the culprit for Canary microtask crashes Original change's description: > [builtins] Mega-revert to address the Dev blocker in crbug.com/808911. > > - Revert "[builtins] Save one word in contexts for Promise.all." > This reverts commit 7632da06. > - Revert "[builtins] Also use the Promise#then protector for Promise#finally()." > This reverts commit d4f072ce. > - Revert "[builtins] Don't mess with entered context for MicrotaskCallbacks." > This reverts commit 6703dacd. > - Revert "[debugger] Properly deal with settled promises in catch prediction." > This reverts commit 40dd0658. > - Revert "[builtins] Widen the fast-path for Promise builtins." > This reverts commit db0556b7. > - Revert "[builtins] Unify PerformPromiseThen and optimize it with TurboFan." > This reverts commit a582199c. > - Revert "[builtins] Remove obsolete PromiseBuiltinsAssembler::AppendPromiseCallback." > This reverts commit 6bf88852. > - Revert "[builtins] Turn NewPromiseCapability into a proper builtin." > This reverts commit 313b490d. > - Revert "[builtins] Inline InternalPromiseThen into it's only caller" > This reverts commit f7bd6a2f. > - Revert "[builtins] Implement Promise#catch by really calling into Promise#then." > This reverts commit b23b098f. > - Revert "[promise] Remove incorrect fast path" > This reverts commit 0f6eafe8. > - Revert "[builtins] Squeeze JSPromise::result and JSPromise::reactions into a single field." > This reverts commit 8a677a28. > - Revert "[builtins] Refactor promises to reduce GC overhead." > This reverts commit 8e7737cb. > > Tbr: hpayer@chromium.org > Bug: chromium:800651, chromium:808911, v8:5691, v8:7253 > Change-Id: I8c8ea5ed32ed62f6cd8b0d027a3707ddd891e5f1 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/906991 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Commit-Queue: Adam Klein <adamk@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51158} Change-Id: I09d958cbebd635a325809072a290f2f53df8c5d4 Tbr: adamk@chromium.org,yangguo@chromium.org,bmeurer@chromium.org Bug: chromium:800651, chromium:808911, v8:5691, v8:7253 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/908988Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51181}
-
- 07 Feb, 2018 1 commit
-
-
Benedikt Meurer authored
- Revert "[builtins] Save one word in contexts for Promise.all." This reverts commit 7632da06. - Revert "[builtins] Also use the Promise#then protector for Promise#finally()." This reverts commit d4f072ce. - Revert "[builtins] Don't mess with entered context for MicrotaskCallbacks." This reverts commit 6703dacd. - Revert "[debugger] Properly deal with settled promises in catch prediction." This reverts commit 40dd0658. - Revert "[builtins] Widen the fast-path for Promise builtins." This reverts commit db0556b7. - Revert "[builtins] Unify PerformPromiseThen and optimize it with TurboFan." This reverts commit a582199c. - Revert "[builtins] Remove obsolete PromiseBuiltinsAssembler::AppendPromiseCallback." This reverts commit 6bf88852. - Revert "[builtins] Turn NewPromiseCapability into a proper builtin." This reverts commit 313b490d. - Revert "[builtins] Inline InternalPromiseThen into it's only caller" This reverts commit f7bd6a2f. - Revert "[builtins] Implement Promise#catch by really calling into Promise#then." This reverts commit b23b098f. - Revert "[promise] Remove incorrect fast path" This reverts commit 0f6eafe8. - Revert "[builtins] Squeeze JSPromise::result and JSPromise::reactions into a single field." This reverts commit 8a677a28. - Revert "[builtins] Refactor promises to reduce GC overhead." This reverts commit 8e7737cb. Tbr: hpayer@chromium.org Bug: chromium:800651, chromium:808911, v8:5691, v8:7253 Change-Id: I8c8ea5ed32ed62f6cd8b0d027a3707ddd891e5f1 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/906991 Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51158}
-
- 02 Feb, 2018 1 commit
-
-
Benedikt Meurer authored
This creates a uniform PerformPromiseThen builtin, which performs the operation with the same name from the spec, except that it expects the handlers to be either undefined or callable already, since this is only relevant for a single callsite (namely Promise.prototype.then). Introduce a matching operator JSPerformPromiseThen into TurboFan, which represents this operation and removes the additional checks in case of Promise.prototype.then based on the information we can derived from the receiver maps. This yields a nice 20-25% improvement on Promise.prototype.then, as illustrated by the following micro-benchmark ```js const N = 1e7; function inc(x) { return x + 1; } function chain(promise) { return promise.then(inc).then(value => { if (value < N) chain(Promise.resolve(value)); }); } console.time('total'); chain(Promise.resolve(0)); setTimeout(console.timeEnd.bind(console, 'total')); ``` which goes from around 1230ms to 930ms with this patch. Bug: v8:7253 Change-Id: I5712a863acdbe7da3bb8e621887c7b952148c51a Reviewed-on: https://chromium-review.googlesource.com/899064Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51071}
-
- 30 Jan, 2018 1 commit
-
-
Camillo Bruni authored
Convert certain DCHECKS into CHECKS for some Map setters. This should have minimal performance impact at the same time getting us better coverage out there in the wild. Change-Id: I9a12f43e1baca15d9bf8b1aed86bb6b0dc13921d Reviewed-on: https://chromium-review.googlesource.com/866931 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#50958}
-
- 17 Jan, 2018 1 commit
-
-
Ulan Degenbaev authored
This is a workaround for false positive race reported by TSAN. Bug: v8:7315 Change-Id: I55712010dc5386a58b5ef7d48043e474f4b89bb9 Reviewed-on: https://chromium-review.googlesource.com/869672Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#50654}
-
- 07 Dec, 2017 1 commit
-
-
Igor Sheludko authored
Bug: v8:7109 Change-Id: I9766d28998fca49b0d3e6dc9aca3cc19f0b42124 Reviewed-on: https://chromium-review.googlesource.com/809244Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49925}
-
- 01 Dec, 2017 1 commit
-
-
Marja Hölttä authored
These should've been moved earlier but were left behind. BUG=v8:5402,v8:7109 Change-Id: I9736da35f1ef89628c987c33eed40a07aa266bea Reviewed-on: https://chromium-review.googlesource.com/803375 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49789}
-
- 22 Nov, 2017 1 commit
-
-
Igor Sheludko authored
This CL ensures that elements kind transitions don't cause silent mutable-to-constant or any-to-class-type migrations of in-place generalizable fields. Bug: v8:5495, chromium:783132 Change-Id: Ie60224db62bd45d27148ae0469c7af5a3fe944fd Reviewed-on: https://chromium-review.googlesource.com/785190Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49583}
-
- 06 Nov, 2017 1 commit
-
-
Igor Sheludko authored
This CL ensures that elements kind transitions don't cause silent mutable-to-constant field migrations when the following options are enabled: --track_constant_fields --modify_map_inplace. Bug: v8:5495, v8:6980 Change-Id: Ie28daab84f91d424110e71504b025a2e465bfe16 Reviewed-on: https://chromium-review.googlesource.com/753087 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#49133}
-
- 27 Jul, 2017 1 commit
-
-
Igor Sheludko authored
... when generalizing const fields to mutable fields. Bug: chromium:748539, chromium:747979, chromium:738763 Change-Id: Iee772a5d0cddd23599f1f68bca00b8beecb76da0 Reviewed-on: https://chromium-review.googlesource.com/586709Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46921}
-
- 17 May, 2017 1 commit
-
-
Marja Hölttä authored
Previous version was https://chromium-review.googlesource.com/502808 BUG=v8:5402 Change-Id: If327f4d7884577b7e5e6159372bf28a80cd21e51 Reviewed-on: https://chromium-review.googlesource.com/506073 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45369}
-
- 15 May, 2017 2 commits
-
-
Marja Hölttä authored
This reverts commit 7be0159e. Reason for revert: Broke node by generating a broken debug-support.cc Original change's description: > [objects.h splitting] Move Map and related classes. > > BUG=v8:5402 > > Change-Id: I64fae0a0271eb0f1b71f4ec5d9bd5d22deb1cf59 > Reviewed-on: https://chromium-review.googlesource.com/502808 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45305} TBR=marja@chromium.org,mstarzinger@chromium.org,jarin@chromium.org,ishell@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5402 Change-Id: Ifa65537447eb0a1ef947b9d0dae6f07a8b150968 Reviewed-on: https://chromium-review.googlesource.com/506011Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#45307}
-
Marja Hölttä authored
BUG=v8:5402 Change-Id: I64fae0a0271eb0f1b71f4ec5d9bd5d22deb1cf59 Reviewed-on: https://chromium-review.googlesource.com/502808Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#45305}
-