- 20 May, 2019 2 commits
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I6287907edb8a36225bfa9fe864305ea59c20dd8b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617667 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61648}
-
Yang Guo authored
Code that is being moved primarily deal with layout of a JSObject, accessing properties and elements, and map transitions. NOTREECHECKS=true NOTRY=true Bug: v8:9247 Change-Id: Ibce5d5926ac4021c8d40c4dd109948775ce1da58 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613994 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61638}
-
- 17 May, 2019 1 commit
-
-
Yang Guo authored
TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Bug: v8:9247 Change-Id: I7ffc2bd4a5fdf7c20cc3283bb5545cbf9ffd4e53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617254Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61609}
-
- 16 May, 2019 3 commits
-
-
Hannes Payer authored
Bug: v8:9093 Change-Id: I02360627776715ae2561f8535dbf97ed0cd3c51a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613978 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#61587}
-
Maya Lekova authored
This reverts commit 9ac8b200. Reason for revert: Breaks CFI bot https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20cfi/20442 Original change's description: > Move API-related files > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61579} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I28ee9174a1cbc1dae9711977bf9369253ef43058 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615463Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61583}
-
Yang Guo authored
NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61579}
-
- 15 May, 2019 1 commit
-
-
Mythri A authored
Tests that expect type feedback vector ensure it by using %EnsureFeedbackVector intrinsic. These tests now work with lazy feedback allocation as well. Hence it is no longer required to initialize the shared function info with a special bailout id. Bug: v8:8394 Change-Id: Iba2f94be7e5651b4faeb8b3bf604d17fb4b146ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609542Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61509}
-
- 14 May, 2019 2 commits
-
-
Maciej Goszczycki authored
Bug: v8:7464 Change-Id: I522efa3718d04398d2096262a5507b1eb3cfd28a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611546Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61496}
-
Maciej Goszczycki authored
This is a reland of 2b24cd03 Original change's description: > [heap] Skip read-only space in Heap::Contains > > Bug: v8:7464 > Change-Id: I27e82cdf0f8cc56ff68dcfaecab9644fe74916c7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559861 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61350} Bug: v8:7464 Change-Id: Ic5a9221f62537c1711c70b48fc0069288bfda80f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601509Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61489}
-
- 09 May, 2019 3 commits
-
-
Mythri A authored
Bug: v8:8394 Change-Id: Ica3e1bfc1b272ad0e5e45cc0cae870a30822b624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601265Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61382}
-
Mythri A authored
Moved tests for IIFEs/top level code to AllocationSiteCreationForIIFE. It is not possible to use %EnsureFeedbackVector for these tests. They just turn the lazy_feedback_allocation flag to false. Bug: v8:8394 Change-Id: Id18cb43bf350efc1a26d04b9c3fce4f638dbda84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601507 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61376}
-
Maya Lekova authored
This reverts commit 2b24cd03. Reason for revert: Causes layout test failures https://ci.chromium.org/p/chromium/builders/try/linux-chromeos-rel/275121 and https://ci.chromium.org/p/chromium/builders/try/win7-rel/86354 Original change's description: > [heap] Skip read-only space in Heap::Contains > > Bug: v8:7464 > Change-Id: I27e82cdf0f8cc56ff68dcfaecab9644fe74916c7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559861 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61350} TBR=ulan@chromium.org,delphick@chromium.org,goszczycki@google.com Change-Id: I13cc09dd44a10bad854fa861b6e43149babb1b5e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601498Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61363}
-
- 08 May, 2019 2 commits
-
-
Maciej Goszczycki authored
Bug: v8:7464 Change-Id: I27e82cdf0f8cc56ff68dcfaecab9644fe74916c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559861 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61350}
-
Maciej Goszczycki authored
Seems like the CodeBuilder CL actually caused this. This is a reland of 964edc25 Original change's description: > [heap] Set read-only space's and its pages' heap_ to null. > > Various small changes are required to enable this. > > HeapObject::GetReadOnlyRoots no longer uses the Space's heap when > possible (see comment in ReadOnlyHeap::GetReadOnlyRoots definition). > This requires that ReadOnlyRoots be construct-able using a raw pointer > to the read-only space's roots array. > > Global read-only heap state is now cleared by tests where appropriate > and extra DCHECKs in ReadOnlyHeap::SetUp should make catching future > issues easier. > > String padding is now always cleared just before read-only space is > sealed when not deserializing. > > Change-Id: I7d1db1c11567be5df06ff7066f3a699125f8b372 > Bug: v8:7464 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535830 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61188} Bug: v8:7464 Change-Id: If75bbd16c2e2af5b80cd60811dfd7866f8be8309 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1599186 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61323}
-
- 03 May, 2019 1 commit
-
-
Maciej Goszczycki authored
This reverts commit 964edc25. Reason for revert: chromium:959190 Original change's description: > [heap] Set read-only space's and its pages' heap_ to null. > > Various small changes are required to enable this. > > HeapObject::GetReadOnlyRoots no longer uses the Space's heap when > possible (see comment in ReadOnlyHeap::GetReadOnlyRoots definition). > This requires that ReadOnlyRoots be construct-able using a raw pointer > to the read-only space's roots array. > > Global read-only heap state is now cleared by tests where appropriate > and extra DCHECKs in ReadOnlyHeap::SetUp should make catching future > issues easier. > > String padding is now always cleared just before read-only space is > sealed when not deserializing. > > Change-Id: I7d1db1c11567be5df06ff7066f3a699125f8b372 > Bug: v8:7464 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535830 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61188} TBR=ulan@chromium.org,hpayer@chromium.org,delphick@chromium.org,goszczycki@google.com Change-Id: I53cecf3976dfeabae309040313351385f651f010 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464, chromium:959190 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591608Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#61217}
-
- 02 May, 2019 3 commits
-
-
Maciej Goszczycki authored
Various small changes are required to enable this. HeapObject::GetReadOnlyRoots no longer uses the Space's heap when possible (see comment in ReadOnlyHeap::GetReadOnlyRoots definition). This requires that ReadOnlyRoots be construct-able using a raw pointer to the read-only space's roots array. Global read-only heap state is now cleared by tests where appropriate and extra DCHECKs in ReadOnlyHeap::SetUp should make catching future issues easier. String padding is now always cleared just before read-only space is sealed when not deserializing. Change-Id: I7d1db1c11567be5df06ff7066f3a699125f8b372 Bug: v8:7464 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535830 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61188}
-
Maciej Goszczycki authored
Code relocation info is now always allocated in old-space. Before relocation info allocated for placeholders and builtins (which get replaced with trampolines in nosnap builds) would become unreachable. Since read-only space is not GCed and ReadOnlyHeapIterator doesn't check for reachability, ValidateSnapshot would fail finding unreachable objects returned by ReadOnlyHeapIterator. Because trampoline relocation info gets replaced with canonical one, this only affects no-embdded-builtins nosnap builds, which don't get much benefit from read-only relocation info anyway. A new check has been added to the read-only deserializer to verify that every read-only object is reachable at mksnapshot-time. The CombinedHeapIterator iteration order was changed to iterate over read-only space first, because that's how HeapIterator worked. This is a reland of 3d1d8eae Original change's description: > [heap] Skip ro-space from heap iterators, add CombinedHeapIterator. > > Read-only space sharing requires an iterator independent of heap. This > also enables future removal of read-only space from heap. > > Bug: v8:7464 > Change-Id: Ia07a9369494ea2c547d12c01ffa1d7b8b6bbeabc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552795 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60819} Bug: v8:7464 Change-Id: I49ae070955b77956962334a84f762ab29052d5ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1566513Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61185}
-
Hannes Payer authored
The registry right now has no users. In a follow-up CL I will remove the skip list for code pages and make users of the skip list use the registry. Bug: v8:9093 Change-Id: I23a2b9e0d4158e2ffa89626e71f58d3bb5a41201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593074Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61184}
-
- 30 Apr, 2019 2 commits
-
-
Ross McIlroy authored
BUG=v8:8801 Change-Id: I20e1b343f33293a5de3a8953650a26852126533a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588466 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Auto-Submit: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61127}
-
Mike Stanton authored
Failure addressed by not exposing the new test to the jitless environment. (jgruber@ on TBR). New enum RelocInfo::COMPRESSED_EMBEDDED_OBJECT created to support compressed pointers in generated code. Enum name EMBEDDED_OBJECT changed to FULL_EMBEDDED_OBJECT. RelocInfo::[set_]target_object() abstract away the difference between FULL_EMBEDDED_OBJECT and COMPRESSED_EMBEDDED_OBJECT. Compressed embedded objects can only be created at this time on x64 with pointer compression turned on. Arm64 constant pools don't support compressed objects at this time. NOPRESUBMIT=true Bug: v8:7703 TBR: jgruber@chromium.org Change-Id: Ifff53b041bab09b4b8c3e16085e5df4aa2b99f4f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588461Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#61104}
-
- 29 Apr, 2019 6 commits
-
-
Michael Lippautz authored
Change-Id: I55e8e42b88c8df1f75ff05f22b39d69e9dc586ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588457 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61097}
-
Maciej Goszczycki authored
Switch all uses of NewCode and TryNewCode to CodeBuilder and remove these methods. NewCode and TryNewCode use a large number of default parameters, which makes it difficult to use and add any new ones. Large chunks of code were also duplicated across TryNewCode and NewCode. The previous CL (https://chromium-review.googlesource.com/c/v8/v8/+/1585736) added a new CodeBuilder class which allows much simpler building of Code objects. Bug: v8:9183 Change-Id: I9f6884f35a3284cbd40746376f0f27e36f9051b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1585737 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61096}
-
Clemens Hammacher authored
The {Vector} class does not use it any more. External uses should be converted to {size_t} instead of {int}. This CL removes the function from vector.h and updates all users to either use {size_t}, or cast to {int} explicitly. In tests, no further checks are needed if the string is a constant. R=mstarzinger@chromium.org Bug: v8:9183 Change-Id: I60f99302504c74d8a7c79b147ca01d8ba61b6879 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587393Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61092}
-
Ross McIlroy authored
This reverts commit b5da9fcb. Reason for revert: Breaks pointer compression bot: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20pointer%20compression/3098 Original change's description: > [ptr-compr] New RelocInfo for compressed pointers. > > New enum RelocInfo::COMPRESSED_EMBEDDED_OBJECT created to support > compressed pointers in generated code. Enum name EMBEDDED_OBJECT > changed to FULL_EMBEDDED_OBJECT. > > RelocInfo::[set_]target_object() abstract away the difference between > FULL_EMBEDDED_OBJECT and COMPRESSED_EMBEDDED_OBJECT. > > Compressed embedded objects can only be created at this time on > x64 with pointer compression turned on. Arm64 constant pools don't > support compressed objects at this time. > > Bug: v8:7703 > Change-Id: I03bfd84effa33c65cf9bcefa5df680ab7eace9dd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547661 > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61076} TBR=ulan@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,ishell@chromium.org Change-Id: I262b2b98315fa987c5a66b1050dc726563ccdb2d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588135Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61087}
-
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}
-
Mike Stanton authored
New enum RelocInfo::COMPRESSED_EMBEDDED_OBJECT created to support compressed pointers in generated code. Enum name EMBEDDED_OBJECT changed to FULL_EMBEDDED_OBJECT. RelocInfo::[set_]target_object() abstract away the difference between FULL_EMBEDDED_OBJECT and COMPRESSED_EMBEDDED_OBJECT. Compressed embedded objects can only be created at this time on x64 with pointer compression turned on. Arm64 constant pools don't support compressed objects at this time. Bug: v8:7703 Change-Id: I03bfd84effa33c65cf9bcefa5df680ab7eace9dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547661 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61076}
-
- 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 2 commits
-
-
Clemens Hammacher authored
This is one step towards removing the {StrLength} helper and using {size_t} consistently instead. R=mstarzinger@chromium.org Bug: v8:8834 Change-Id: Ibcdfd579531a259d490c39a8e8c96d469a5a4aac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578901 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60974}
-
Michael Lippautz authored
Removes APIs: - MarkIndependent - IsIndependent - MarkActive - RegisterExternalReference All weak persistent handles are now treated as independent. Users of traced handles should already use v8::EmbedderHeapTracer. This reverts commit 49954eb5. Bug: chromium:923361 Change-Id: I0b9fcd678964331f926f6b725f70eb64268ca33f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578462 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60971}
-
- 23 Apr, 2019 2 commits
-
-
Michael Lippautz authored
This reverts commit 1ebf5f72. Reason for revert: Breaks TSAN Original change's description: > [api,heap] Remove deprecated Persistent APIs > > Removes APIs: > - MarkIndependent > - IsIndependent > - MarkActive > - RegisterExternalReference > > All weak persistent handles are now treated as independent. Users of > traced handles should already use v8::EmbedderHeapTracer. > > Bug: chromium:923361 > Change-Id: Ic90a647fe2ce9db92197ad6560e4907290805592 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578459 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60953} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I8281daf30b67c1b71ef6e65d8f13a59230ba0334 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:923361 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578900Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60954}
-
Michael Lippautz authored
Removes APIs: - MarkIndependent - IsIndependent - MarkActive - RegisterExternalReference All weak persistent handles are now treated as independent. Users of traced handles should already use v8::EmbedderHeapTracer. Bug: chromium:923361 Change-Id: Ic90a647fe2ce9db92197ad6560e4907290805592 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578459 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60953}
-
- 12 Apr, 2019 3 commits
-
-
Clemens Hammacher authored
This reverts commit 3d1d8eae. Reason for revert: Speculative revert; seems to break all nosnap bots, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20nosnap/25240 Original change's description: > [heap] Skip ro-space from heap iterators, add CombinedHeapIterator. > > Read-only space sharing requires an iterator independent of heap. This > also enables future removal of read-only space from heap. > > Bug: v8:7464 > Change-Id: Ia07a9369494ea2c547d12c01ffa1d7b8b6bbeabc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552795 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60819} TBR=ulan@chromium.org,hpayer@chromium.org,delphick@chromium.org,goszczycki@google.com Change-Id: I64b58b1b0c5eb073a6d2cfae81bb4de65f0511bf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1565895Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60825}
-
Maciej Goszczycki authored
Read-only space sharing requires an iterator independent of heap. This also enables future removal of read-only space from heap. Bug: v8:7464 Change-Id: Ia07a9369494ea2c547d12c01ffa1d7b8b6bbeabc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552795 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#60819}
-
Simon Zünd authored
This CL changes the Symbol "stack_trace_symbol" to directly hold a FrameArray instead of wrapping it with a JSArray first. Bug: v8:9115 Change-Id: I2ac0b1fb380211568abdc6d9f50431c405349dec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564060Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#60801}
-
- 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 heap code to 'using' declarations. R=mstarzinger@chromium.org Bug: v8:8834 Change-Id: I8a9f6e1eebdd0adca4373c866e95ebab0a1e992d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545892Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60523}
-
- 25 Mar, 2019 1 commit
-
-
Mythri authored
Allocate feedback vectors lazily when the function's interrupt budget has reached a specified threshold. This cl introduces a new field in the ClosureFeedbackCellArray to track the interrupt budget for allocating feedback vectors. Using the interrupt budget on the bytecode array could cause problems when there are closures across native contexts and we may delay allocating feedback vectors in one of them causing unexpected performance cliffs. In the long term we may want to remove interrupt budget from bytecode array and use context specific budget for tiering up decisions as well. Bug: v8:8394 Change-Id: Ia8fbb71f5e8543a92f14c44aa762973da82d445c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520719 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#60450}
-
- 21 Mar, 2019 1 commit
-
-
Michael Lippautz authored
FixedArray object in LO space are processed incrementally in ranges of slots size kProgressBarScanningChunk to reduce latency when returning to the processing loop is critical. A progress bar stores how much slots have been processed already. In the case of regular concurrent marking there was a guarantee that the object was only processed by one thread (main *or* concurrent marking thread) at the same time. However, some optimizations that avoid write barriers for each individual write operation emit a batched write barrier that requires re-visiting the FixedArray for the marking barrier. In such cases, the progress bar would be reset using relaxed stores which is problematic as the concurrent marking thread could race on setting its own progress on the progress bar. As a result, the array would only be re-scanned partially. The fix involves using CAS to set the progress bar and bail out in the case an inconsistent state was observed. In the following: MT... main thread CM... concurrent marking thread The interesting cases are: 1. MT *or* CM processes the array without interfering: Progress bar is updated monotonically without failing. 3. MT interferes with itself: The progress bar is just reset and the main thread will restart scanning from index 0. The object is added twice to the marking worklist and processed each time one of the entries is retrieved from the worklist. 4. MT interferes with CM: 4.a.: CM processes a range of slots and re-adds the left overs by setting the progress bar and re-adding the array to the worklist. In this case CM *and* MT process the array from index 0. The first time the CAS for setting the progress bar fails on either of the threads, the looser will bail out and leave processing for the winner. 4.b.: CM is interrupted while processing a range of the array and fails in setting the progress bar for the left overs. In this case the CM bails out right away and the main thread starts processing from index 0. In addition, there is a transition from index 0 to the index of the first actual slot. This transition makes it possible to observe a reset while processing the first actual chunk of slots. Bug: chromium:942699 Change-Id: I0b06f47ee075030dadfc959528cd77b6b69bbec2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532325Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60385}
-
- 18 Mar, 2019 1 commit
-
-
Michael Lippautz authored
Bug: chromium:923361, v8:8834 Change-Id: I6ec42aeb74bea5c0629fcdc3f95c125f5de534a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526195 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60289}
-
- 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}
-
- 11 Mar, 2019 1 commit
-
-
Michael Lippautz authored
v8::EmbedderHeapTracer::TracePrologue may call back into V8 during StartMarking. In this case we expect that the write barriers are set up and consistent, i.e., global flag matches page flag. Blink calls back into V8 in a corner case where sweeping is finalized on incremental marking start which may trigger resettting a V8 Value which may trigger DescriptorArray re-shuffling. Bug: chromium:940003 Change-Id: Ia15c798d0faaab802df1c3b569b5b6a323a4fe59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514492Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60145}
-