- 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}
-
- 09 Feb, 2019 1 commit
-
-
Jakob Kummerow authored
HeapObject::SizeFromMap() was too large to get inlined anyway. HeapObject::IsFoo() predicates should be implemented in foo-inl.h, because that's what they depend on. This patch also fixes up includes: dropping unnecessary ones from object-inl.h, and adding them in other places that previously relied on getting them transitively. Bug: v8:8562 Change-Id: Id062bed67257d9dc1899f2d71f44cf69a1368c83 Reviewed-on: https://chromium-review.googlesource.com/c/1450778Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#59478}
-
- 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}
-
- 18 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:5402 Change-Id: Ib2d7b24cdcf55e3dfa8d3b1665ac565904ac2112 Reviewed-on: https://chromium-review.googlesource.com/c/1379940Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58336}
-
- 17 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Along with HeapNumberBase and MutableHeapNumber, of course. Bug: v8:5402 Change-Id: I14a7f8052de3839cad36bb7e4ebb6da38b2ac096 Reviewed-on: https://chromium-review.googlesource.com/c/1379884 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58293}
-
- 25 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Removing the temporarily duplicated classes FixedArrayPtr and FixedArrayBasePtr. Bug: v8:3770 Change-Id: I056ad74ff69593e9f134ef5c976766812c4d9275 Reviewed-on: https://chromium-review.googlesource.com/c/1345913 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57807}
-
- 24 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
to the new design. Bug: v8:3770 Change-Id: I3cd0a66eefefedc98a641494302fc79d897a153a Reviewed-on: https://chromium-review.googlesource.com/c/1345910 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57801}
-
- 19 Oct, 2018 1 commit
-
-
Jakob Kummerow authored
Instead of putting "Foo" as type into the list macro, and then extending to "type*" at consumer macros, put "Foo*" into the macro. This is in preparation for incremental transition to ObjectPtr, where some roots will return pointer types and others won't. When that migration is complete, everything will be uniform (and without "*") again. Bug: v8:3770 Change-Id: Ib4a9900b1fc6e59f5fc924b779ed7e94dc136ad0 Reviewed-on: https://chromium-review.googlesource.com/c/1285397 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#56798}
-
- 11 Oct, 2018 1 commit
-
-
Igor Sheludko authored
... containing RootsTable, ExternalReferenceTable, builtins array and potentially some other data that can be accessed via the RootRegister. This is a preliminary step before adding support for pointer-compression friendly heap layout. Bug: v8:8182 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2899f657aaff1351a5304afa0b1a4c5ae4cfc31d Reviewed-on: https://chromium-review.googlesource.com/c/1245426Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56551}
-
- 24 Sep, 2018 3 commits
-
-
Igor Sheludko authored
... so that it is no longer needed to iterate over other lists. This CL also moves data handler maps to the RO roots list (because they are RO). Bug: v8:8015 Change-Id: If21fe5bac5a6ac1e44a47783ad930df5fcecda9a Reviewed-on: https://chromium-review.googlesource.com/1240134Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56169}
-
Igor Sheludko authored
... containing ROOT_LIST-compatible entries. Bug: v8:8015 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ia7a2620e2b6c9b2238cc0c2a6ead6bf7e6a46c00 Reviewed-on: https://chromium-review.googlesource.com/1238724 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#56161}
-
Igor Sheludko authored
INTERNALIZED_STRING_ROOT_LIST, [PRIVATE|PUBLIC|WELL_KNOWN]_SYMBOL_ROOT_LIST Bug: v8:8015 Change-Id: I6f271fa8bfbe5e994ebcef191e6750fa3ff6dd7f Reviewed-on: https://chromium-review.googlesource.com/1238567Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56160}
-
- 21 Sep, 2018 2 commits
-
-
Igor Sheludko authored
In order to workaround MSVC compilation issue this CL explicitly adds _TYPE suffixes to struct instance type names in STRUCT_LIST. Bug: v8:8015 Change-Id: If71a26e4cbd41bc7372bf127bd050159d0d324ce Reviewed-on: https://chromium-review.googlesource.com/1238496 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#56149}
-
Igor Sheludko authored
... which are generated from ALLOCATION_SITE_LIST and DATA_HANDLER_LIST respectively. Bug: v8:8015 Change-Id: Ib729628e6b65ad98ff50234572f8edf2854f83ad Reviewed-on: https://chromium-review.googlesource.com/1238517 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#56143}
-
- 20 Sep, 2018 1 commit
-
-
Igor Sheludko authored
and introduce RootsTable - a V8 heap roots storage. So, the renaming part looks like this: Heap::RootListIndex -> RootIndex Heap::kBlahBlahRootIndex -> RootIndex::kBlahBlah Bug: v8:8015, v8:8182 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I38e1f3e3f6813ef35e37b0bed35e9ae14a62134f Reviewed-on: https://chromium-review.googlesource.com/1234613Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56067}
-
- 04 Sep, 2018 1 commit
-
-
Yang Guo authored
Also extend the API to reflect this new feature. R=jgruber@chromium.org, szuend@google.com, ulan@chromium.org Bug: v8:8125 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic7a7604a8c663ba04b324eb8902ff325a25654e7 Reviewed-on: https://chromium-review.googlesource.com/1202087Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#55604}
-
- 22 Aug, 2018 1 commit
-
-
Camillo Bruni authored
This is a reland of 8fa7f9ed Original change's description: > [runtime] Improve for-in performance > > - Add fast-path String conversion for Smi (which is the most common case) > This improves for-in by ~10% on non-initialized enum-caches > - Don't use the NumberStringCache for large indices to not overflow the cache > during key collection. This improves worst-case performance by ~2.5x > - Drop number_to_string_native and number_to_string_runtime counters > > Bug: v8:7717 > Change-Id: Ic1ff385e3374e6a7e7e7bdb9ae75fb8c238105d1 > Reviewed-on: https://chromium-review.googlesource.com/1167049 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55233} Bug: v8:7717 Change-Id: Ie29041b20ca4a06b8e74a4378e7c1118373072ae Reviewed-on: https://chromium-review.googlesource.com/1183721 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#55316}
-
- 21 Aug, 2018 1 commit
-
-
Aseem Garg authored
This reverts commit 8fa7f9ed. Reason for revert: Speculating that this breaks GC stress Original change's description: > [runtime] Improve for-in performance > > - Add fast-path String conversion for Smi (which is the most common case) > This improves for-in by ~10% on non-initialized enum-caches > - Don't use the NumberStringCache for large indices to not overflow the cache > during key collection. This improves worst-case performance by ~2.5x > - Drop number_to_string_native and number_to_string_runtime counters > > Bug: v8:7717 > Change-Id: Ic1ff385e3374e6a7e7e7bdb9ae75fb8c238105d1 > Reviewed-on: https://chromium-review.googlesource.com/1167049 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55233} TBR=ulan@chromium.org,cbruni@chromium.org,verwaest@chromium.org Change-Id: I8d0332478afcd7c6a3f8fbf1f044b9aa870b6b13 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7717 Reviewed-on: https://chromium-review.googlesource.com/1182676Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#55241}
-
- 20 Aug, 2018 2 commits
-
-
Camillo Bruni authored
- Add fast-path String conversion for Smi (which is the most common case) This improves for-in by ~10% on non-initialized enum-caches - Don't use the NumberStringCache for large indices to not overflow the cache during key collection. This improves worst-case performance by ~2.5x - Drop number_to_string_native and number_to_string_runtime counters Bug: v8:7717 Change-Id: Ic1ff385e3374e6a7e7e7bdb9ae75fb8c238105d1 Reviewed-on: https://chromium-review.googlesource.com/1167049Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#55233}
-
Michael Starzinger authored
R=mlippautz@chromium.org BUG=v8:7490 Change-Id: Ifb4b41db3ca34567d735203667978451815c60d4 Reviewed-on: https://chromium-review.googlesource.com/1181056Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55221}
-
- 26 Jun, 2018 5 commits
-
-
Georg Neis authored
This is a reland of f0bcbc90. A few casts were still wrong. Original change's description: > Reland "Introduce MutableHeapNumber class." > > This is a reland of 40ac6b18, which > was incorrect due to a bad merge. > > Original change's description: > > Introduce MutableHeapNumber class. > > > > V8 knows heap numbers and mutable heap numbers. They have > > difference instance types, but in C++ code we've used the > > same class for both (HeapNumber). Confusingly, however, > > IsHeapNumber would return false for mutable heap numbers, > > while HeapNumber::cast would succeed. > > > > This CL adds a separate class MutableHeapNumber and > > eliminates the confusing behavior. > > [...] > TBR=bmeurer@chromium.org > TBR=ulan@chromium.org > > Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1 > Reviewed-on: https://chromium-review.googlesource.com/1114539 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54022} Change-Id: I19a33da4b6abcd445b528a84d4f56ba1964d337b Reviewed-on: https://chromium-review.googlesource.com/1114100 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54027}
-
Georg Neis authored
This reverts commit f0bcbc90. Reason for revert: Still failing bots. Original change's description: > Reland "Introduce MutableHeapNumber class." > > This is a reland of 40ac6b18, which > was incorrect due to a bad merge. > > Original change's description: > > Introduce MutableHeapNumber class. > > > > V8 knows heap numbers and mutable heap numbers. They have > > difference instance types, but in C++ code we've used the > > same class for both (HeapNumber). Confusingly, however, > > IsHeapNumber would return false for mutable heap numbers, > > while HeapNumber::cast would succeed. > > > > This CL adds a separate class MutableHeapNumber and > > eliminates the confusing behavior. > > > > TBR=bmeurer@chromium.org > > > > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378 > > Reviewed-on: https://chromium-review.googlesource.com/1113544 > > Commit-Queue: Georg Neis <neis@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#54012} > > TBR=bmeurer@chromium.org > TBR=ulanchromium.org > > Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1 > Reviewed-on: https://chromium-review.googlesource.com/1114539 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54022} TBR=ulan@chromium.org,jarin@chromium.org,neis@chromium.org,bmeurer@chromium.org Change-Id: I99c226e95dfb0b913903cc83193f6e51de8c1b47 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1114099Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54024}
-
Georg Neis authored
This is a reland of 40ac6b18, which was incorrect due to a bad merge. Original change's description: > Introduce MutableHeapNumber class. > > V8 knows heap numbers and mutable heap numbers. They have > difference instance types, but in C++ code we've used the > same class for both (HeapNumber). Confusingly, however, > IsHeapNumber would return false for mutable heap numbers, > while HeapNumber::cast would succeed. > > This CL adds a separate class MutableHeapNumber and > eliminates the confusing behavior. > > TBR=bmeurer@chromium.org > > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378 > Reviewed-on: https://chromium-review.googlesource.com/1113544 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54012} TBR=bmeurer@chromium.org TBR=ulanchromium.org Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1 Reviewed-on: https://chromium-review.googlesource.com/1114539Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54022}
-
Yang Guo authored
This reverts commit 40ac6b18. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug/21009 Original change's description: > Introduce MutableHeapNumber class. > > V8 knows heap numbers and mutable heap numbers. They have > difference instance types, but in C++ code we've used the > same class for both (HeapNumber). Confusingly, however, > IsHeapNumber would return false for mutable heap numbers, > while HeapNumber::cast would succeed. > > This CL adds a separate class MutableHeapNumber and > eliminates the confusing behavior. > > TBR=bmeurer@chromium.org > > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378 > Reviewed-on: https://chromium-review.googlesource.com/1113544 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54012} TBR=ulan@chromium.org,jarin@chromium.org,neis@chromium.org,bmeurer@chromium.org Change-Id: I358a822f20b9110def968e69463a753a2a32c68c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1114538Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54013}
-
Georg Neis authored
V8 knows heap numbers and mutable heap numbers. They have difference instance types, but in C++ code we've used the same class for both (HeapNumber). Confusingly, however, IsHeapNumber would return false for mutable heap numbers, while HeapNumber::cast would succeed. This CL adds a separate class MutableHeapNumber and eliminates the confusing behavior. TBR=bmeurer@chromium.org Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378 Reviewed-on: https://chromium-review.googlesource.com/1113544 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54012}
-
- 13 Jun, 2018 1 commit
-
-
Creddy authored
Use DEFINE_FIELD_OFFSET_CONSTANTS to describe AllocationSite fields Change-Id: I03ae84e1f4720da9da7e2a8a784f56fe6f155e18 Reviewed-on: https://chromium-review.googlesource.com/1095308Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#53696}
-
- 09 May, 2018 1 commit
-
-
Dan Elphick authored
This is a reland of 40f1aaf3 Put back padding clearing into the SerializeObject method but only when the String is not in RO_SPACE. For RO_SPACE strings, if required iterate over the space before serialization clearing the strings. Original change's description: > [heap] Mark RO_SPACE as read-only after deserialization > > Adds MarkAsReadOnly and MarkAsReadWrite to ReadOnlySpace. The latter > is only usable with ReadOnlySpace::WritableScope to avoid the space > being left writable). MarkAsReadOnly updates the high water mark and > makes several previously mutating methods into no-ops. > > Moves some writes to immutable objects out of the bootstrapper to > setup-heap-internal so they don't write to a read-only page. > > Also avoid writing hashes to strings that already have the value set as > that invariably means writing to the "0" and "1" constant strings in > RO_SPACE. > > Before serialization, it makes RO_SPACE writable again so that any > padding can be cleared before writing it. > > Bug: v8:7464 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: I22edc20dba7dde8943991a8fcaf87244af4490a3 > Reviewed-on: https://chromium-review.googlesource.com/1014128 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52943} Bug: v8:7464 Change-Id: Ia8386c4ff5f5df3207f584caf7a9b1ff1e405f25 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1042145Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53087}
-
- 03 May, 2018 2 commits
-
-
Michael Achenbach authored
This reverts commit 40f1aaf3. Reason for revert: https://luci-milo.appspot.com/buildbot/client.v8/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/21000 Original change's description: > [heap] Mark RO_SPACE as read-only after deserialization > > Adds MarkAsReadOnly and MarkAsReadWrite to ReadOnlySpace. The latter > is only usable with ReadOnlySpace::WritableScope to avoid the space > being left writable). MarkAsReadOnly updates the high water mark and > makes several previously mutating methods into no-ops. > > Moves some writes to immutable objects out of the bootstrapper to > setup-heap-internal so they don't write to a read-only page. > > Also avoid writing hashes to strings that already have the value set as > that invariably means writing to the "0" and "1" constant strings in > RO_SPACE. > > Before serialization, it makes RO_SPACE writable again so that any > padding can be cleared before writing it. > > Bug: v8:7464 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: I22edc20dba7dde8943991a8fcaf87244af4490a3 > Reviewed-on: https://chromium-review.googlesource.com/1014128 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52943} TBR=yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org Change-Id: Id4770c0fdb21cd9eea2f62a019f44a6bdea8f0a7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1041948Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52944}
-
Dan Elphick authored
Adds MarkAsReadOnly and MarkAsReadWrite to ReadOnlySpace. The latter is only usable with ReadOnlySpace::WritableScope to avoid the space being left writable). MarkAsReadOnly updates the high water mark and makes several previously mutating methods into no-ops. Moves some writes to immutable objects out of the bootstrapper to setup-heap-internal so they don't write to a read-only page. Also avoid writing hashes to strings that already have the value set as that invariably means writing to the "0" and "1" constant strings in RO_SPACE. Before serialization, it makes RO_SPACE writable again so that any padding can be cleared before writing it. Bug: v8:7464 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I22edc20dba7dde8943991a8fcaf87244af4490a3 Reviewed-on: https://chromium-review.googlesource.com/1014128 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52943}
-
- 09 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Original review: https://chromium-review.googlesource.com/c/v8/v8/+/959533 Originally landed as r52416 / f9a2e24b Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id072cbe6b3ed30afd339c7e502844b99ca12a647 Reviewed-on: https://chromium-review.googlesource.com/1000540 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52492}
-
- 06 Apr, 2018 2 commits
-
-
Michael Achenbach authored
This reverts commit f9a2e24b. Reason for revert: gc stress failures not all fixed by follow up. Original change's description: > [cleanup] Refactor the Factory > > There is no good reason to have the meat of most objects' initialization > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, > this CL changes the protocol between Heap and Factory to be AllocateRaw, > and all object initialization work after (possibly retried) successful > raw allocation happens in the Factory. > > This saves about 20KB of binary size on x64. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca > Reviewed-on: https://chromium-review.googlesource.com/959533 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52416} TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52420}
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca Reviewed-on: https://chromium-review.googlesource.com/959533 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52416}
-
- 09 Mar, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7490 Change-Id: I07905a57c47ad6663d2d7f6bf539858bed1041f1 Reviewed-on: https://chromium-review.googlesource.com/939164Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#51833}
-
- 06 Dec, 2017 1 commit
-
-
Igor Sheludko authored
They will eventually be used instead of Tuple3/FixedArray by the IC system. Bug: v8:5561, v8:7159 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I39faad1b2dc10ce7d42cb7477ea87b64d1e0b44c Reviewed-on: https://chromium-review.googlesource.com/806178 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49908}
-
- 27 Oct, 2017 1 commit
-
-
Igor Sheludko authored
This should avoid changes in code serializer in a follow-up class literals improvement CL. Bug: v8:5799 Change-Id: I4e4386333bcc7abb30399d4e9abba4eee80ca932 Reviewed-on: https://chromium-review.googlesource.com/733037 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48996}
-
- 13 Sep, 2017 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I3df5d50f81909188ee0cb31d0f479aadeeabe20f Reviewed-on: https://chromium-review.googlesource.com/662780Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47991}
-
- 07 Sep, 2017 1 commit
-
-
Michael Starzinger authored
This finally allows to include the factory.h header without having to also inlcude the object-inl.h inline header. It will in turn enable the removal of the last inline header inclusion violation. R=marja@chromium.org Change-Id: Ice2821e1f74cf428d80c8ebf606a218026f37677 Reviewed-on: https://chromium-review.googlesource.com/654862Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47880}
-