- 09 Aug, 2018 1 commit
-
-
Michael Hablich authored
This reverts commit ff4fa92e. Reason for revert: blocks roll: https://chromium-review.googlesource.com/c/chromium/src/+/1167969 ... see https://chromium-swarm.appspot.com/task?id=3f344f7ada4e0110&refresh=10&show_raw=1 for stacktrace. Original change's description: > [builtins] Enable Torque Array.prototype.splice > > Before, splice was implemented with a C++ fast path and a > comprehensive JavaScript version. > > This impl. is entirely in Torque with a fastpath for SMI, > DOUBLE and OBJECT arrays, and a comprehensive slow path. > The same level of "sparse" array support as given by the > array.js implementation is included. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ibfa3407ed75b9ad15ac54cce446b3952e38f90a9 > Reviewed-on: https://chromium-review.googlesource.com/1039190 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54974} TBR=danno@chromium.org,yangguo@chromium.org,mvstanton@chromium.org,tebbi@chromium.org,szuend@google.com Change-Id: I900f667b30a0cf673ead9621618a9988cf85ffdf No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1168902 Commit-Queue: Michael Hablich <hablich@chromium.org> Reviewed-by:
Michael Hablich <hablich@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#54998}
-
- 08 Aug, 2018 2 commits
-
-
Marja Hölttä authored
This also allows us to get rid of Context::self_weak_cell. BUG=v8:7308 Change-Id: I1b450385b674a4ad90c116648880fcbce6454c55 Reviewed-on: https://chromium-review.googlesource.com/1167186 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54981}
-
Mike Stanton authored
Before, splice was implemented with a C++ fast path and a comprehensive JavaScript version. This impl. is entirely in Torque with a fastpath for SMI, DOUBLE and OBJECT arrays, and a comprehensive slow path. The same level of "sparse" array support as given by the array.js implementation is included. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ibfa3407ed75b9ad15ac54cce446b3952e38f90a9 Reviewed-on: https://chromium-review.googlesource.com/1039190Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#54974}
-
- 07 Aug, 2018 1 commit
-
-
Jakob Kummerow authored
This CL also contains some drive-by cleanup of related code. Bug: v8:5751, v8:7987 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I6144d16c1d85922efc1dc419cce8a2eba2a60056 Reviewed-on: https://chromium-review.googlesource.com/1161545Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#54952}
-
- 06 Aug, 2018 1 commit
-
-
Sathya Gunasekaran authored
Previously, Intl.PluralRules was mostly implemented in JavaScript. This patch moves most of the constructor and parts of other methods to C++. The size of the Intl.PluralRules object is reduced by not storing MinimumIntegerDigits, MinimumFractionDigits, MaximumFractionDigits, MinimumSignificantDigits, MaximumSignificantDigits. Instead these are looked up from icu::DecimalFormat as required. Another optimziation is that we don't create the result of resolvedOptions when the Intl.PluralRules object is constructed, but instead defer until this method is called. In the future, we may want to cache the result. This patch also cleans up several error handling paths that shouldn't happen with ICU and instead just crashes should it ever happen. Bug: v8:5751 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I84c5aa6c25c35fe2d336693dee1b36bf3dcd4a79 Reviewed-on: https://chromium-review.googlesource.com/1158701 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jungshik Shin <jshin@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#54917}
-
- 01 Aug, 2018 1 commit
-
-
Georg Neis authored
R=jarin@chromium.org Change-Id: I9b54049852696680fb7fde26813638aae727b5d3 Reviewed-on: https://chromium-review.googlesource.com/1158231Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54835}
-
- 28 Jul, 2018 1 commit
-
-
Frank Tang authored
This is a reland of 51ad234f With a manual layout rebaseline of js/fast/string-prototype-properties [1], this CL can be relanded without breaking the layout test. [1] https://chromium-review.googlesource.com/c/chromium/src/+/1154289 also marks the test for skipping until this fix is rolled to Chromium. Original change's description: > [Intl] move localeCompare to C++ > > > Bug: v8:7958 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: I84a27dda5205c8581a7ffe37213d685cc49974fa > Reviewed-on: https://chromium-review.googlesource.com/1144644 > Commit-Queue: Frank Tang <ftang@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54740} TBR=ftang@chromium.org, gsathya@chromium.org Bug: v8:7958 Test: layout test: js/fast/string-prototype-properties Change-Id: Ic546349fcbc935917ded018801f7d942e50565d5 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1154247 Commit-Queue: Jungshik Shin <jshin@chromium.org> Reviewed-by:
Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54772}
-
- 27 Jul, 2018 2 commits
-
-
Michael Achenbach authored
This reverts commit 51ad234f. Reason for revert: Speculative revert. Suspect for layout test change: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/25165 See also: https://github.com/v8/v8/wiki/Blink-layout-tests The bots currently have another problem with webkit_unit_tests and don't run the layout tests on every revision. Hence the speculative revert. Original change's description: > [Intl] move localeCompare to C++ > > > Bug: v8:7958 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: I84a27dda5205c8581a7ffe37213d685cc49974fa > Reviewed-on: https://chromium-review.googlesource.com/1144644 > Commit-Queue: Frank Tang <ftang@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54740} TBR=jshin@chromium.org,gsathya@chromium.org,bstell.chromium.org@gmail.com,ftang@chromium.org Change-Id: Iceab3316bd1eacfe449c8182cbb3027acb56047e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7958 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1152767Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#54747}
-
Frank Tang authored
Bug: v8:7958 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I84a27dda5205c8581a7ffe37213d685cc49974fa Reviewed-on: https://chromium-review.googlesource.com/1144644 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#54740}
-
- 26 Jul, 2018 1 commit
-
-
Frank Tang authored
This also move the function body of Runtime_StringLocaleConvertCase into IntlFunc::StringLocaleConvertCase Bug: v8:7958 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ibc081150babdd7d50043383b0f7375d46cfcf4a5 Reviewed-on: https://chromium-review.googlesource.com/1144525 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Jungshik Shin <jshin@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#54737}
-
- 19 Jul, 2018 1 commit
-
-
Georg Neis authored
R=mslekova@chromium.org Change-Id: I1f60108effa15585a7cf5af150fc4c1d4dd9570f Reviewed-on: https://chromium-review.googlesource.com/1142160Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54540}
-
- 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}
-
- 10 Jul, 2018 1 commit
-
-
Sathya Gunasekaran authored
This increases the size of a NumberFormat instance by a word to store the bound format function. The instance to be bound is stored on the context of this builtin function. Bug: v8:5751, v8:7800 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ie85d8db7d10aabb5c40e77687e6f7112a84f3ebd Reviewed-on: https://chromium-review.googlesource.com/1122153Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#54353}
-
- 06 Jul, 2018 2 commits
-
-
Simon Zünd authored
This CL extends the existing ArrayPop C++ builtin with a generic slow-path that replaces the JavaScript fallback. R=cbruni@chromium.org, jgruber@chromium.org Bug: v8:7624 Change-Id: Ie3ce5379e5c65df67cbc4d956390a8701345ea3c Reviewed-on: https://chromium-review.googlesource.com/1127162 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54284}
-
Simon Zünd authored
This CL extends the existing ArrayPush C++ builtin with a generic slow-path that replaces the JavaScript fall-back. Bug: v8:7624 Change-Id: I1e8431601e8a872f3c5afba5d486f37fd5781d60 Reviewed-on: https://chromium-review.googlesource.com/1126922Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#54282}
-
- 05 Jul, 2018 2 commits
-
-
Alexey Kozyatinskiy authored
- rewritten couple tests, - migrated JSMessageObject to real Script instead of wrapper, - removed wrapper. R=yangguo@chromium.org TBR=ulan@chromium.org Bug: v8:5530 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ia95492344c7b5978a940e2ab007b389384537148 Reviewed-on: https://chromium-review.googlesource.com/1112851Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#54274}
-
Sathya Gunasekaran authored
This unblocks new feature work that require this operation from C++, whilst the porting to C++ is underway. Bug: v8:5751 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Icb7f05bbea42ecfa1abc3cefb6d1bf8542ed921b Reviewed-on: https://chromium-review.googlesource.com/1127082 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#54265}
-
- 19 Jun, 2018 1 commit
-
-
Leszek Swirski authored
To avoid repeating code for the few places where we can call GetIsolate and GetHeap safely. Bug: v8:7786 Change-Id: I6c6de81488bfa79dca50cfd2b6356f432401b68e Reviewed-on: https://chromium-review.googlesource.com/1104684 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53828}
-
- 15 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Add a separate GetIsolate implementation for Context and JSObjects so that we can continue using it on these context-specific types, while eventually removing HeapObject::GetIsolate(). Bug: v8:7786 Change-Id: I86c2e12c6878e060338cbd5c3bbe27dcf978e34b Reviewed-on: https://chromium-review.googlesource.com/1101320 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53746}
-
- 15 May, 2018 1 commit
-
-
Nebojsa Ciric authored
https://github.com/tc39/proposal-intl-locale Rename locale property to baseName to better reflect the intented use case and the change in spec. TBR: bmeurer@chromium.org Bug: v8:7684 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I91b630b49ce73abcebd6040ec968c91d75cff879 Reviewed-on: https://chromium-review.googlesource.com/1014411 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#53193}
-
- 14 May, 2018 1 commit
-
-
Maya Lekova authored
Revert "[async-await] Eliminate throwaway promise in async functions." This reverts commit a840f1f8. Revert "[async-generators] Also avoid throwaway promise here." This reverts commit feb545ce. Revert "[async-await] Turn await closures into intrinsics." This reverts commit d97bb317. Revert "[async-generators] Add fast-path for primitives in AsyncGeneratorYield." This reverts commit e57b500e. Revert "[async-generators] Add fast-path to skip "then" lookup in AsyncGeneratorResolve." This reverts commit c15802e1. Revert "[promises] Correctly run before/after hooks for await." This reverts commit ca763923. Bug: v8:7253, v8:7745 Change-Id: I25ad0d2df3cfbc84dbb431aa25b268bce8a39e89 Reviewed-on: https://chromium-review.googlesource.com/1049975 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53139}
-
- 08 May, 2018 1 commit
-
-
Choongwoo Han authored
Remove InitialArrayPrototypeHasInitialArrayPrototypeMap and HasInitialFastElementsKindMap introduced by http://crrev.com/55efb6cc5dd0ae28b9cc41da31fe86069487c113, but not used after http://crrev.com/1525374ff5a564b55b748ad33e6cd0d0ea684006. Change-Id: I1182221a95d5fc1ac953139e400533efe420bd19 Reviewed-on: https://chromium-review.googlesource.com/1045951Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53065}
-
- 04 May, 2018 2 commits
-
-
Toon Verwaest authored
Instead rely on the scope info containing the name as well. Change-Id: Ie1f96ea023a793b11209510566f6831b1dfd40ab Reviewed-on: https://chromium-review.googlesource.com/1042567 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52983}
-
Toon Verwaest authored
Bug: v8:7066 Change-Id: Icfcb40b2048997c158fba5f3e250145bed4ca1e3 Reviewed-on: https://chromium-review.googlesource.com/1042386 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52981}
-
- 03 May, 2018 1 commit
-
-
Toon Verwaest authored
There are likely cleanups that can be done after this CL: - context-related functions in the interpreter and compiler take ScopeInfo as well as ScopeType and slot-count as input. The latter 2 should be directly derived from the former. We should be able to drop FunctionContextParameters. - ContextExtension is probably not needed anymore, since we now always have the correct scope_info directly in the SCOPE_INFO_INDEX slot. Bug: v8:7066 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ie1f6134c686a9f2183e54730d9cdd598a9e5ab67 Reviewed-on: https://chromium-review.googlesource.com/785151 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52952}
-
- 25 Apr, 2018 1 commit
-
-
Camillo Bruni authored
This is is a preparatory CL to detach the JSFunction from the Context. We mainly rewrite the DebugScopeInterator to no longer rely on the a JSFunction to be around. Additionally the empty_function needs to have a proper ScopeInfo now. Drive-by-fix: Improve ScopeInfo debug printing Bug: v8:7066 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I2f2fa0e78914a12e076384e0e1234c2322ad1ee8 Reviewed-on: https://chromium-review.googlesource.com/918721 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#52791}
-
- 23 Apr, 2018 1 commit
-
-
Georg Neis authored
Several functions on Array.prototype incorrectly threw a TypeError just because their receiver was sealed or frozen. Bug: v8:7677 Change-Id: I4ec38bfbf468f9bd676f1c0b341c8a50cf814f15 Reviewed-on: https://chromium-review.googlesource.com/1021870 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52718}
-
- 09 Apr, 2018 1 commit
-
-
Clemens Hammacher authored
MUST_USE_RESULT was deprecated for some time. This removes it and replaces all uses by the equivalent V8_WARN_UNUSED_RESULT. R=mstarzinger@chromium.org Bug: v8:7570 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I86883218638e64eeeb7a5891904319ed0844a004 Reviewed-on: https://chromium-review.googlesource.com/999533 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#52486}
-
- 05 Apr, 2018 1 commit
-
-
peterwmwong authored
Proposal repo: https://github.com/tc39/proposal-string-matchall - Add new builtins StringPrototypeMatchAll and RegExpPrototypeMatchAll - Add new object RegExpStringIterator Bug: v8:6890 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I9fad71900cf30e8632258c309df1c7a638ea4600 Reviewed-on: https://chromium-review.googlesource.com/981893 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52403}
-
- 03 Apr, 2018 1 commit
-
-
Ben Smith authored
This change implements the WebAssembly.Global object and constructor, but none of the accessors or functions. There is a new flag to enable this: --experimental-wasm-mut-global. Change-Id: Ifeb270d57392d7ca0900c80c0038932c96ee8b61 Reviewed-on: https://chromium-review.googlesource.com/989296 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52335}
-
- 28 Mar, 2018 1 commit
-
-
Daniel Clifford authored
Change-Id: Ifdeda00ad55aa937a6a414e7e566e6640ccd83c0 Reviewed-on: https://chromium-review.googlesource.com/980936Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#52278}
-
- 12 Mar, 2018 1 commit
-
-
Benedikt Meurer authored
Use IteratorToList to implement CallWithSpread and ConstructWithSpread instead. Bug: v8:7310 Change-Id: Ic1c44cc97914fa4fb92da8c568ac66f3ae78e520 Reviewed-on: https://chromium-review.googlesource.com/956073Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51871}
-
- 05 Mar, 2018 1 commit
-
-
Benedikt Meurer authored
This changes the JSArrayIterator to always have only a single instance type, instead of the zoo of instance types that we had before, and which became less useful with the specification update to when "next" is loaded from the iterator now. This greatly simplifies the baseline implementation of the array iterator, which now only looks at the iterated object during %ArrayIteratorPrototype%.next invocations. In TurboFan we introduce a new JSCreateArrayIterator operator, that holds the IterationKind and get's the iterated object as input. When optimizing %ArrayIteratorPrototype%.next in the JSCallReducer, we check whether the receiver is a JSCreateArrayIterator, and if so, we try to infer maps for the iterated object from there. If we find any, we speculatively assume that these won't have changed during iteration (as we did before with the previous approach), and generate fast code for both JSArray and JSTypedArray iteration. Drive-by-fix: Drop the fast_array_iteration protector, it's not necessary anymore since we have the deoptimization guard bit in the JSCallReducer now. This addresses the performance cliff noticed in webpack 4. The minimal repro on the tracking bug goes from console.timeEnd: mono, 124.773000 console.timeEnd: poly, 670.353000 to console.timeEnd: mono, 118.709000 console.timeEnd: poly, 141.393000 so that's a 4.7x improvement. Also make presubmit happy by adding the missing #undef's. Bug: v8:7510, v7:7514 Change-Id: I79a46bfa2cd0f0710e09365ef72519b1bbb667b5 Reviewed-on: https://chromium-review.googlesource.com/946098Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51725}
-
- 02 Mar, 2018 5 commits
-
-
Camillo Bruni authored
This prevents us from accidentally overwriting the default map of the empty_fixed_array since NewFixedArray might just return that. Change-Id: Id2fd20db1c07ec0289905ce5b0e12b5530a60229 Reviewed-on: https://chromium-review.googlesource.com/942923Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#51692}
-
Georg Neis authored
This reverts commit f48e7349. Reason for revert: innocent!! Original change's description: > Revert "[parsing] inline ArrayLiteral creation for spread calls" > > This reverts commit 93fc3841. > > Reason for revert: may break node.js integration > > Original change's description: > > [parsing] inline ArrayLiteral creation for spread calls > > > > Instead of using runtime calls to generate the Array Literal passed to > > %reflect_call / %reflect_construct, we create an ArrayLiteral from the > > list of arguments, and perform spreads using the interpreter mechanism for > > spreading in ArrayLiterals (thus, the spreading becomes inline). This > > array literal is still passed to %reflect_call / %reflect_construct as > > before. > > > > This cuts the runtime for bench-spread-call.js -> testSpread roughly in > > half, and will likely improve further once > > https://chromium-review.googlesource.com/c/v8/v8/+/915364 has landed. > > > > BUG=v8:7446 > > R=neis@chromium.org, adamk@chromium.org > > > > Change-Id: I74a6acd3a60aad422e4ac575275c7b567659d8ad > > Reviewed-on: https://chromium-review.googlesource.com/939587 > > Commit-Queue: Georg Neis <neis@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#51678} > > TBR=adamk@chromium.org,neis@chromium.org,caitp@igalia.com,bmeurer@chromium.org > > Change-Id: I4730077591bce0e5e7b2ce7d59678e8b7135cc08 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:7446 > Reviewed-on: https://chromium-review.googlesource.com/945769 > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51682} TBR=adamk@chromium.org,neis@chromium.org,sigurds@chromium.org,caitp@igalia.com,bmeurer@chromium.org Change-Id: I977513bea06a4f3fba03fa4a89270298475422e2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7446 Reviewed-on: https://chromium-review.googlesource.com/945808Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51686}
-
Benedikt Meurer authored
Previously the array iterator protector only guarded the lookup of the @@iterator symbol on the initial Array.prototype, and we had to use an additional map check on the %ArrayIteratorPrototype% to ensure that no one messed with the next() method. This CL extends the array iterator protector to also guard the lookup of %ArrayIteratorPrototype%.next. This simplifies the code quite a bit and makes it more robust for cases where someone has to install additional methods on the iterator prototype, i.e. a custom async iterator. Bug: v8:7510, v8:7514 Change-Id: Ie6080bb837a91a2b60b224597121470614210660 Reviewed-on: https://chromium-review.googlesource.com/945728Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51684}
-
Sigurd Schneider authored
This reverts commit 93fc3841. Reason for revert: may break node.js integration Original change's description: > [parsing] inline ArrayLiteral creation for spread calls > > Instead of using runtime calls to generate the Array Literal passed to > %reflect_call / %reflect_construct, we create an ArrayLiteral from the > list of arguments, and perform spreads using the interpreter mechanism for > spreading in ArrayLiterals (thus, the spreading becomes inline). This > array literal is still passed to %reflect_call / %reflect_construct as > before. > > This cuts the runtime for bench-spread-call.js -> testSpread roughly in > half, and will likely improve further once > https://chromium-review.googlesource.com/c/v8/v8/+/915364 has landed. > > BUG=v8:7446 > R=neis@chromium.org, adamk@chromium.org > > Change-Id: I74a6acd3a60aad422e4ac575275c7b567659d8ad > Reviewed-on: https://chromium-review.googlesource.com/939587 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51678} TBR=adamk@chromium.org,neis@chromium.org,caitp@igalia.com,bmeurer@chromium.org Change-Id: I4730077591bce0e5e7b2ce7d59678e8b7135cc08 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7446 Reviewed-on: https://chromium-review.googlesource.com/945769Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51682}
-
Caitlin Potter authored
Instead of using runtime calls to generate the Array Literal passed to %reflect_call / %reflect_construct, we create an ArrayLiteral from the list of arguments, and perform spreads using the interpreter mechanism for spreading in ArrayLiterals (thus, the spreading becomes inline). This array literal is still passed to %reflect_call / %reflect_construct as before. This cuts the runtime for bench-spread-call.js -> testSpread roughly in half, and will likely improve further once https://chromium-review.googlesource.com/c/v8/v8/+/915364 has landed. BUG=v8:7446 R=neis@chromium.org, adamk@chromium.org Change-Id: I74a6acd3a60aad422e4ac575275c7b567659d8ad Reviewed-on: https://chromium-review.googlesource.com/939587 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51678}
-
- 26 Feb, 2018 1 commit
-
-
jgruber authored
Bug: v8:7310 Change-Id: Ib9c40bababbb688305be7bea262a4348805a1f18 Reviewed-on: https://chromium-review.googlesource.com/936762Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51549}
-
- 20 Feb, 2018 1 commit
-
-
Benedikt Meurer authored
There's no need to have the AsyncFunctionAwait/AsyncGeneratorAwait operations as separate closures that are called via JavaScript calling convention, but instead we can just have them as intrinsics (with the goal to eventually turn them into IC stubs). Drive-by-fix: Tail call to the ResumeGenerator builtin when resuming an async function. The earlier restrictions no only apply with the new machinery. Bug: v8:7253 Change-Id: I0c4d04dae15b4211158fc07151adafda69d4faec Reviewed-on: https://chromium-review.googlesource.com/924703Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51382}
-