- 20 Aug, 2019 1 commit
-
-
Sathya Gunasekaran authored
Previously, without support for converting strings to numbers we'd switch to megamorphic state and go to the runtime always to do the conversion causing a performance cliff. This patch improves the following js-perf-test scores: Object-Lookup-String-Constant-BytecodeHandler: 4.25% Object-Lookup-Index-String-BytecodeHandler: 5.41% Bug: v8:9449 Change-Id: I63787fa84373fc946f1304b0141e48a52a1b4bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1690953Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#63293}
-
- 15 Jul, 2019 1 commit
-
-
Seth Brenith authored
This change is mostly mechanical, but it's worth mentioning a few slightly interesting cases: - A couple of field definitions didn't match the signedness of their corresponding accessors. - The generated accessors for Smi data use Smi values directly, but usually we want C++ accessors to use ints instead. I added a macro that hides the generated Smi accessors and exposes int accessors, but we might consider generating int accessors directly. - The data held in some fields is described in comments next to the accessor definition for those fields. With automatically generated accessors, those comments need a new home. In this change I put them in the Torque object definition, but I'm open to other suggestions. - gen-postmortem-metadata couldn't find updated class definitions after they got split across multiple lines, so I changed its matching logic. (Ideally debug-support.cc should be a Torque compiler output rather than something that involves parsing C++ with regexes, but this makes it correctly report subclass relationships for now.) - The end offsets generated by Torque were off by one from the values that would be generated by DEFINE_FIELD_OFFSET_CONSTANTS. Change-Id: I3df4fcd27997b46c41ca879065b9d97f6c939f07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1692192Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#62719}
-
- 28 Jun, 2019 1 commit
-
-
Igor Sheludko authored
The latter is better because it takes field type into account when decompressing field value. Drive-by: use [DECL_]ACCESSOR macros for some fields. Bug: v8:9353 Change-Id: I3d7f07d11b1e379e3e6cf0310d836af6b48c1338 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1680539 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62444}
-
- 26 Jun, 2019 1 commit
-
-
Igor Sheludko authored
... instead of ISOLATELESS_GETTER for declaring and defining getters and predicates that have to deal with decompression of tagged fields. The new macro eases introduction of isolate-full getters. Bug: v8:9353 Change-Id: Ic63baea819a9320c5677f5bd7dda123d7334d80f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1676285 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#62373}
-
- 25 Jun, 2019 1 commit
-
-
Igor Sheludko authored
... in addition to existing Xxx::yyy(). The idea is to use these getters in hot C++ code since passing isolate explicitly makes it trivial to compute isolate root value and reduces the C++ code size. For full-pointer mode the unused isolate argument will be optimized away by the compiler, so full-pointer mode should not be affected in any sense. Bug: v8:9353 Change-Id: If6c43e3d5b3cbfc0db8b9eccee49dd8c4d168822 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1674035Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#62348}
-
- 24 Jun, 2019 1 commit
-
-
Igor Sheludko authored
... in addition to existing [Heap]Object::IsXXX(). The idea is to use these getters in hot C++ code since passing isolate explicitly makes it trivial to compute isolate root value and reduces the C++ code size. For full-pointer mode the unused isolate argument will be optimized away by the compiler, so full-pointer mode should not be affected in any sense. Bug: v8:9353 Change-Id: I405cd54e8895b58f60f797fdb1c1b5654acb56f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664337 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#62335}
-
- 24 May, 2019 1 commit
-
-
Yang Guo authored
TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org Bug: v8:9247 Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61830}
-
- 23 May, 2019 3 commits
-
-
Sigurd Schneider authored
The type of the argument makes it clear what we're internalizing, and this allows us to choose either one based on a template parameter. Change-Id: I6d7865e7fdef364f6cf10ff9267034df182d7539 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624212 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61765}
-
Clemens Hammacher authored
This CL was generated by an automatic clang AST rewriter using this matcher expression: callExpr( callee( cxxMethodDecl( hasName("operator->"), ofClass(isSameOrDerivedFrom("v8::internal::Object")) ) ), argumentCountIs(1) ) The "->" at the expression location was then rewritten to ".". R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org Bug: v8:9183, v8:3770 No-Try: true No-Tree-Checks: true Change-Id: I0a7ecabdeafe51d0cf427f5280af0c7cab96869e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624209Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61764}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I0023200c54fa6499ae4e2cf5e4c89407cc35f187 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624218Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61762}
-
- 21 May, 2019 4 commits
-
-
Sigurd Schneider authored
Bug: v8:9264 Change-Id: I936d203d38410a6aefff8a54acf49468abb20e39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621933 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#61707}
-
Sigurd Schneider authored
Change-Id: I377e96fca2dff89a986b43f092ef7684d164cd9d Bug: v8:9264 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617679 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61695}
-
Toon Verwaest authored
Inputs to JSON can be two-byte because payload strings can contain two-byte characters, without actually having any one-byte property key. Rather than eagerly converting the string to one-byte, we can perform a string-table lookup with a two-byte string key; only converting the result to one-byte if it's a new key. This speeds up json parsing of two-byte json from the Youtube benchmark by 20%. Change-Id: If6d4a37d331724f48b008aef8ec3e28d366cd038 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619866 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61680}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I9bcf2694b449f79cdbe03f5fde59cb21b8cad418 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619758 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#61676}
-
- 15 May, 2019 1 commit
-
-
Yang Guo authored
R=bmeurer@chromium.org, clemensh@chromium.org, jkummerow@chromium.org, sigurds@chromium.org, ulan@chromium.org, verwaest@chromium.org Bug: v8:9247 Change-Id: I153a6bbfc55989fe7a86c052f95c5cb8ee61e841 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613244 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61557}
-
- 07 May, 2019 1 commit
-
-
Toon Verwaest authored
- Performs hash / length check before calling IsMatch - Casts to string before calling IsMatch - Removes special two-char internalization key (will look into removing StringTableNoAllocateKey next, and possible fold StringTableInsertionKey into InternalizedStringKey). Change-Id: Ida76761eb2c3dc350c829ac2bfe12d52aef5f96d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598753Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61280}
-
- 06 May, 2019 2 commits
-
-
Toon Verwaest authored
Original change's description: > [runtime] Inline SeqOneByteSubStringKey IsMatch and AsHandle > > The performance actually matters to JSON parsing and this improves it by a % or > 2. > > In the longer run we should probably share the IsMatch implementation in > StringTableKey directly and call a virtual GetBytes on the key implementation. > > Change-Id: I838a106f9c8c52f0385057a52a8c0b9141ae025b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1589977 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Auto-Submit: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61183} Change-Id: I3fc73b4d123f193f7c2ce3078b0b030a652efc17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1596735 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61248}
-
Toon Verwaest authored
This is a reland of b0c4a876 Original change's description: > [json] Speed up json parsing > > - scan using raw data pointers + GC callback > - scan using scanner tables > - cap internalizing large string values > - inline fast transitioning logic > > Fixes previous CL by moving AllowHeapAllocation to callers of > ReportUnexpectedCharacter where needed to make it clear we need to exit. > > Tbr: ulan@chromium.org > Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61159} Change-Id: I0d713e02d243723df2d2a7c252eae44a6648b6b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1596444Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61247}
-
- 03 May, 2019 2 commits
-
-
Sigurd Schneider authored
This reverts commit bbd740f0. Reason for revert: blocks lkgr due to layout test failure: https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/31607 Original change's description: > Reland "[json] Speed up json parsing" > > This is a reland of b0c4a876 > > Original change's description: > > [json] Speed up json parsing > > > > - scan using raw data pointers + GC callback > > - scan using scanner tables > > - cap internalizing large string values > > - inline fast transitioning logic > > > > Fixes previous CL by moving AllowHeapAllocation to callers of > > ReportUnexpectedCharacter where needed to make it clear we need to exit. > > > > Tbr: ulan@chromium.org > > Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778 > > Reviewed-by: Igor Sheludko <ishell@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#61159} > > Tbr: verwaest@chromium.org > Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel > Change-Id: Ic7d0057178c649fc45b8c8f4587ee9128e351515 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593292 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61179} TBR=ulan@chromium.org,ishell@google.com,verwaest@google.com,ishell@chromium.org,verwaest@chromium.org Change-Id: I3ae8f9ce8214bebe7fab9d87c5daf8cdfdb94199 No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594438 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61194}
-
Sigurd Schneider authored
This reverts commit a87a971b. Reason for revert: required for revert of bbd740f0 Original change's description: > [runtime] Inline SeqOneByteSubStringKey IsMatch and AsHandle > > The performance actually matters to JSON parsing and this improves it by a % or > 2. > > In the longer run we should probably share the IsMatch implementation in > StringTableKey directly and call a virtual GetBytes on the key implementation. > > Change-Id: I838a106f9c8c52f0385057a52a8c0b9141ae025b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1589977 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Auto-Submit: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61183} TBR=ishell@chromium.org,verwaest@chromium.org Change-Id: I8797310ef7834c04b44c735ce60813e3fb596013 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594440Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61193}
-
- 02 May, 2019 4 commits
-
-
Toon Verwaest authored
The performance actually matters to JSON parsing and this improves it by a % or 2. In the longer run we should probably share the IsMatch implementation in StringTableKey directly and call a virtual GetBytes on the key implementation. Change-Id: I838a106f9c8c52f0385057a52a8c0b9141ae025b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1589977 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61183}
-
Toon Verwaest authored
This is a reland of b0c4a876 Original change's description: > [json] Speed up json parsing > > - scan using raw data pointers + GC callback > - scan using scanner tables > - cap internalizing large string values > - inline fast transitioning logic > > Fixes previous CL by moving AllowHeapAllocation to callers of > ReportUnexpectedCharacter where needed to make it clear we need to exit. > > Tbr: ulan@chromium.org > Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61159} Tbr: verwaest@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel Change-Id: Ic7d0057178c649fc45b8c8f4587ee9128e351515 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593292 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61179}
-
Michael Achenbach authored
This reverts commit b0c4a876. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/26470 Original change's description: > [json] Speed up json parsing > > - scan using raw data pointers + GC callback > - scan using scanner tables > - cap internalizing large string values > - inline fast transitioning logic > > Fixes previous CL by moving AllowHeapAllocation to callers of > ReportUnexpectedCharacter where needed to make it clear we need to exit. > > Tbr: ulan@chromium.org > Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61159} TBR=ulan@chromium.org,ishell@google.com,ishell@chromium.org,verwaest@chromium.org Change-Id: Ibe823e187d9ab999be7278140b0ed31868440e9e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593090Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#61163}
-
Toon Verwaest authored
- scan using raw data pointers + GC callback - scan using scanner tables - cap internalizing large string values - inline fast transitioning logic Fixes previous CL by moving AllowHeapAllocation to callers of ReportUnexpectedCharacter where needed to make it clear we need to exit. Tbr: ulan@chromium.org Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61159}
-
- 30 Apr, 2019 4 commits
-
-
Sathya Gunasekaran authored
This reverts commit 36dd2bca. Reason for revert: msan still failing https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/26453 Original change's description: > Reland "[json] Speed up json parsing" > > This is a reland of de8aaef5 > > Original change's description: > > [json] Speed up json parsing > > > > - scan using raw data pointers + GC callback > > - scan using scanner tables > > - cap internalizing large string values > > - inline fast transitioning logic > > > > Change-Id: I545620017b38b80e4193dfaf19381411adf5ff89 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584320 > > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > > Reviewed-by: Igor Sheludko <ishell@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#61132} > > Tbr: ulan@chromium.org > Change-Id: Iafd5e7c750a9f3eae706baf51dc4c9237c916132 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588887 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61136} TBR=ulan@chromium.org,gsathya@chromium.org,ishell@chromium.org,verwaest@chromium.org Change-Id: If0a34e017fed7688873c21f4b65f62b246820732 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590626Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61137}
-
Toon Verwaest authored
This is a reland of de8aaef5 Original change's description: > [json] Speed up json parsing > > - scan using raw data pointers + GC callback > - scan using scanner tables > - cap internalizing large string values > - inline fast transitioning logic > > Change-Id: I545620017b38b80e4193dfaf19381411adf5ff89 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584320 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61132} Tbr: ulan@chromium.org Change-Id: Iafd5e7c750a9f3eae706baf51dc4c9237c916132 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588887 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61136}
-
Sathya Gunasekaran authored
This reverts commit de8aaef5. Reason for revert: breaks MSAN https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8914730548828313776/+/steps/Check/0/logs/json/0 Original change's description: > [json] Speed up json parsing > > - scan using raw data pointers + GC callback > - scan using scanner tables > - cap internalizing large string values > - inline fast transitioning logic > > Change-Id: I545620017b38b80e4193dfaf19381411adf5ff89 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584320 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61132} TBR=ulan@chromium.org,ishell@chromium.org,verwaest@chromium.org Change-Id: I870c82f6f2a5bc3d2dfea57d5d6306cdccbbe935 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590384Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61134}
-
Toon Verwaest authored
- scan using raw data pointers + GC callback - scan using scanner tables - cap internalizing large string values - inline fast transitioning logic Change-Id: I545620017b38b80e4193dfaf19381411adf5ff89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584320 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61132}
-
- 29 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
Our {Vector} template provides both {start} and {begin} methods. They return exactly the same value. Since the {begin} method is needed for iteration, and is also what standard containers provide, this CL switches all uses of the {start} method to use {begin} instead. Patchset 1 was auto-generated by using this clang AST matcher: callExpr( callee( cxxMethodDecl( hasName("start"), ofClass(hasName("v8::internal::Vector"))) ), argumentCountIs(0)) Patchset 2 was created by running clang-format. Patchset 3 then removes the now unused {Vector::start} method. R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,yangguo@chromium.org,verwaest@chromium.org Bug: v8:9183 Change-Id: Id9f01c92870872556e2bb3f6d5667463b0e3e5c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587381Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61081}
-
- 26 Apr, 2019 1 commit
-
-
Toon Verwaest authored
- Removes Utf8Iterator - Replaces Utf8Decoder with something based on ValueOfIncremental + NonAsciiStart and moves it into v8/internal. - Internalizes utf8 strings by first converting them to one or two byte - Removes IsUtf8EqualsTo and replaces current uses with IsOneByteEqualsTo Tbr: jgruber@chromium.org Change-Id: I16e08d910a745e78d6fd465718fc69ad731fd217 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1585840 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61049}
-
- 24 Apr, 2019 1 commit
-
-
Toon Verwaest authored
Change-Id: I34dc911d205ab507f668bfd422eb1838f660a6bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1571624 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60964}
-
- 29 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in src/objects to 'using' declarations. R=mstarzinger@chromium.org Bug: v8:8834 Change-Id: Iec455b40e9256ee3aae867a42c0e949a338d417c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545893Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60531}
-
- 19 Mar, 2019 1 commit
-
-
Igor Sheludko authored
When pointer compression is enabled the [u]intptr_t and double fields are only kTaggedSize aligned so in order to avoid undefined behavior in C++ code we have to access these values in an unaligned pointer friendly way although both x64 and arm64 architectures (where pointer compression is supported) allow unaligned access. These changes will be removed once v8:8875 is fixed and all the kSystemPointerSize fields are properly aligned. Bug: v8:7703 Change-Id: I4df477cbdeab806303bb4f675d52b61c06342c8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528996 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60321}
-
- 12 Mar, 2019 1 commit
-
-
Hannes Payer authored
Bug: v8:8945 Change-Id: I14ca4b29f1b12ff95e718d431f65d88ab1238c53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511478Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60177}
-
- 04 Mar, 2019 1 commit
-
-
Benedikt Meurer authored
In the early days of Chrome when we used WebKit there was no support for ASCII strings on the C++ side, so we put a hint onto these two-byte strings that said "string only contains one byte data", such that internally in V8 when these were involved in string operations, we could instead create the *cheaper* one byte strings. Nowadays Blink properly supports one-byte string representations and this additional hint only comes with overhead, since we check it in quite a few places (i.e. on the hot path for string concatenation), plus we end up consuming more memory due to the additional string maps. Removing the hint also frees one bit in the InstanceType zoo for strings. This alone improves performance on the `bench-dom-serialize.js` test case by around **3%**. Tbr: mstarzinger@chromium.org Bug: v8:6622, v8:8834, v8:8939 Cq-Include-Trybots: luci.chromium.try:linux-blink-rel Change-Id: I0753f2859cee7b5a37b6f0da64d8ec39fcb044ff Doc: https://bit.ly/fast-string-concatenation-in-javascript Reviewed-on: https://chromium-review.googlesource.com/c/1498478 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#60006}
-
- 15 Feb, 2019 1 commit
-
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 13 Feb, 2019 2 commits
-
-
Nico Weber authored
For macros expanding to function definitions, I removed the spurious ; after macro invocations. For macros expandign to function declarations, I made the ; required and consistently inserted it. No behavior change. Bug: chromium:926235 Change-Id: Ib8085d85d913d74307e3481f7fee4b7dc78c7549 Reviewed-on: https://chromium-review.googlesource.com/c/1467545Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59558}
-
Toon Verwaest authored
We should just always get an Object in rather than both Object and Object* where the former is dealt with through operator->. Change-Id: I2d2542f37a357d4c410cc5f07c8e3563e66660b7 Reviewed-on: https://chromium-review.googlesource.com/c/1470104Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59553}
-
- 09 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
The incremental migration required several pairs of functionally equivalent macros. This patch consolidates everything onto the respective new version and drops the obsolete versions. Bug: v8:3770 Change-Id: I4fb05ff223e8250c83a13f46840810b0893f410b Reviewed-on: https://chromium-review.googlesource.com/c/1398223Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58659}
-
- 26 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Tbr: ahaas@chromium.org,leszeks@chromium.org,verwaest@chromium.org Bug: v8:3770 Change-Id: Ia6530fbb70dac05e9972283781c3550d8b50e1eb Reviewed-on: https://chromium-review.googlesource.com/c/1390116 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58470}
-