- 27 Nov, 2019 1 commit
-
-
Leszek Swirski authored
To indicate that the Isolate* in getters might not be a "real" isolate, but rather a calculated one from GetIsolateForPtrCompr only used for calculating the isolate root, make that function return a const Isolate* and change field getters, Object::IsFoo predicates, and related functions to all take a const Isolate* instead of an Isolate* With this change, we can slightly more confidently use Objects that are in OffThreadSpace, without having to worry too much about having an Isolate* floating around that could accidentally be used. This is a slight abuse of const semantics, but it allows implicit conversion from Isolate* arguments to the const Isolate* parameter. Bug: v8:7703 Bug: chromium:1011762 Change-Id: I54d4a65d2299477195f4d754cabe64ce34fdaa4c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1939455 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65199}
-
- 11 Nov, 2019 1 commit
-
-
Sathya Gunasekaran authored
Instead of changing all of TryToName to do the conversion to array index, this patch narrows this fast path just to the element load IC handler. This patch also restores the HeapNumber conversion in TryToIntPtr and in Turbofan inlining as per the original state of things. Bug: v8:9449, chromium:1016738, chromium:1016709 Change-Id: Ibf3a2c38637fc36e0ee037dc740f273848d1e8a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1902386 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64896}
-
- 06 Nov, 2019 1 commit
-
-
Sathya Gunasekaran authored
This reverts commit 0457bed1. Reason for revert: doesn't help perf too much Original change's description: > [ic] Inline loads for heapnumber and cached string as ArrayIndex > > Bug: chromium:1016738, chromium:1016709, v8:9449 > Change-Id: I5b50f21b3e40651e16201e63b4a7010b1bf0c639 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897890 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64766} TBR=neis@chromium.org,gsathya@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:1016738, chromium:1016709, v8:9449 Change-Id: I8a68cac329f06fa47516ecd9708f1e91e5d15b77 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1901276Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64821}
-
- 05 Nov, 2019 1 commit
-
-
Sathya Gunasekaran authored
Bug: chromium:1016738, chromium:1016709, v8:9449 Change-Id: I5b50f21b3e40651e16201e63b4a7010b1bf0c639 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897890Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#64766}
-
- 08 Oct, 2019 1 commit
-
-
Jakob Kummerow authored
This is useful for the upcoming "huge TypedArrays" support, to be able to quickly decide in stubs/generated code whether a string used as the key for a property load/store can possibly be an exotic integer index. Bug: v8:4153 Change-Id: I50ce655d2f78fb36e5615fd580f22c9290216c84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1821460 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#64165}
-
- 13 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
After https://crrev.com/c/1800575 and https://crrev.com/c/1803343, which tried to fix this on occuring compile errors, this CL systematically adds the <memory> include to each header that uses {std::unique_ptr}. R=sigurds@chromium.org TBR=mlippautz@chromium.org,alph@chromium.org,rmcilroy@chromium.org,verwaest@chromium.org Bug: v8:9396 Change-Id: If7f9c3140842f9543135dddd7344c0f357999da0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803349Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63767}
-
- 22 Aug, 2019 2 commits
-
-
Seth Brenith authored
This change adds the indexed field for the characters in the definition of sequential string types, and introduces support for recognizing the various specific string types in v8_debug_helper. In an attempt to avoid duplicating info about string instance types, it also refactors String::Get so that StringShape (a simple class usable by postmortem tools) can dispatch using a class that defines behaviors for each concrete type. Bug: v8:9376 Change-Id: Id0653040f6decddc004c73f8fe93d2187828c2c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735795 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#63352}
-
Sathya Gunasekaran authored
This reverts commit 5c59ba4f. Reason for revert: requires more thinking Original change's description: > [ic] Fix KeyedLoadIC for ArrayIndex access > > 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/+/1690953 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63293} TBR=mythria@chromium.org,jyan@ca.ibm.com,gsathya@chromium.org,leszeks@chromium.org,ishell@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9449 Change-Id: I6b6ad5901175c2e6bbd7516b13e91471adb5776d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1765532Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#63347}
-
- 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}
-
- 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}
-
- 03 Jun, 2019 1 commit
-
-
Seth Brenith authored
Implemented verifiers for the following classes: - ExternalString - FixedArrayBase - JSCollection - JSCollectionIterator - JSWeakCollection - Name - SeqString - Struct Removed the following class definitions from Torque, because they're just JSObject instances with particular starting maps, as discussed in https://crrev.com/c/v8/v8/+/1619146/6/src/builtins/base.tq#459 : - JSAccessorPropertyDescriptor - JSDataPropertyDescriptor - JSIteratorResult Following similar logic, removed the Torque definition of WasmExceptionPackage because it's just an error object that happens to have a couple of private-symbol properties. The following classes should not be defined in Torque because they're just a starting state for JSObject, but I'm leaving them for now because existing Torque code requires them: - JSArgumentsObjectWithLength - JSProxyRevocableResult Bug: v8:9311 Change-Id: I0336b6be7d02e48e4a8a0f660e24d2c2fa5f5e34 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1637448 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61970}
-
- 23 May, 2019 1 commit
-
-
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}
-
- 21 May, 2019 4 commits
-
-
Toon Verwaest authored
Check uintptr_t sized blocks of UTF16 chars at a time similar to NonAsciiStart. Fix readds the length precheck so we won't read out of bounds while aligning the start. Change-Id: Iaea901945a2445ba5bf50c67a6211356697ed1fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622115 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61700}
-
Maya Lekova authored
This reverts commit c2e4183a. Reason for revert: Uninitialized value on MSAN, see https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/26888 Original change's description: > [runtime] Speed up String::IsOneByte > > Check uintptr_t sized blocks of UTF16 chars at a time similar to NonAsciiStart. > > Change-Id: Ib4c498cc064e6ac7b6f8cc87ab700eafc8132c39 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622107 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61693} TBR=ishell@chromium.org,verwaest@chromium.org Change-Id: I2e18c9476f0ed47e77da87d2308a3429ef4f515c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622112Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61697}
-
Toon Verwaest authored
Check uintptr_t sized blocks of UTF16 chars at a time similar to NonAsciiStart. Change-Id: Ib4c498cc064e6ac7b6f8cc87ab700eafc8132c39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622107 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61693}
-
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}
-
- 14 May, 2019 1 commit
-
-
Sigurd Schneider authored
This annotation indicates that the class itself is not instantiated, and does not have its own instance type: The instance types that logically belong to the class are the instance types of the derived classes. Currently, we need the indication @dirtyInstantiatedAbstractClass for several classes that are used as both, abstract base classes and concrete classes. The prime example is JSObject which is the base for many other classes, and also serves as the class to allocate plain JSObjects. The annotation is purposefully ugly because in the future we should refactor code to make it unnecessary. Another annotation we introduce is @hasSameInstanceTypeAsParent, which indicates another design pattern that currently occurs in the code-base: Some Torque classes have the same instance types as their parent class, but rename some fields, or possibly have a different map. In such cases, the parent class is not abstract and the derived classes can be seen as refinements of this class (that, for example, narrows the type of a field). In the future, Torque should accomodate this pattern better, but at moment we are content with just indicating where it is used. Bug: v8:7793 Change-Id: I1892dcc7325250df75d80308bf3d767d6d43bcc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1607761 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61495}
-
- 07 May, 2019 1 commit
-
-
Toon Verwaest authored
That's the only place where it's used, with a known StringTableKey type. This also makes MakeThin available on String. Change-Id: If1aca892045dadae91c902e783822280ae01f485 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598764 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61299}
-
- 06 May, 2019 1 commit
-
-
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 1 commit
-
-
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}
-
- 02 May, 2019 3 commits
-
-
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}
-
- 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}
-
- 09 Apr, 2019 1 commit
-
-
Sigurd Schneider authored
Change-Id: I2855af444db5dad910d99acc8179aef75e56d000 Bug: v8:9020 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559734Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60703}
-
- 04 Apr, 2019 1 commit
-
-
Sigurd Schneider authored
Bug: v8:9020 Change-Id: I1b9f3c0c805709c6570785ec9f1045f21c9d03e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541048Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60638}
-
- 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}
-
- 14 Mar, 2019 1 commit
-
-
Matt Gardner authored
Bug: v8:8952 Change-Id: I099de2052941684d4ca714062a52c82ef0bb3850 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1516473 Commit-Queue: Matt Gardner <magardn@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60247}
-
- 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}
-
- 22 Feb, 2019 1 commit
-
-
Maciej Goszczycki authored
All HeapObjects already have roots access so this was redundant and made ComputeAndSetHash difficult to use. Eventually we need to get rid of the Isolate version of HashSeed, but this will touch a lot of files, so leaving it for now. Bug: v8:8562 Change-Id: I27d8fe10df72494d0a2146f408a2158cf02ce226 Reviewed-on: https://chromium-review.googlesource.com/c/1481630 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#59792}
-