Possible improvements: - Teach TurboFan/CSA to use the cached value to avoid bailing out to the runtime. - Introduce new types of Resources to avoid memory regressions for strings which do not use the cached_data_ (Maybe not needed, see next bullet point). - Get rid of the on-V8-heap cache pointer for all external strings (except the uncached ones with uncacheable resources, but that should be rare).
-- You received this message because: 1. The project was configured to send all issue notifications to this address
Possible improvements: - Teach TurboFan/CSA to use the cached value to avoid bailing out to the runtime. - Introduce new types of Resources to avoid memory regressions for strings which do not use the cached_data_ (Maybe not needed, see next bullet point).
- Get rid of the on-V8-heap cache pointer for all external strings.
bugdroid via monorail
unread,
Feb 19, 2021, 7:21:49 AM2/19/21
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
commit ed225df70cc62b03942850ddd5493c365aff3157 Author: Santiago Aboy Solanes <sol...@chromium.org> Date: Fri Feb 19 12:17:04 2021
[objects] Cache the ExternalString's data in its resource
For external uncached strings (also called "Small External Strings") with cacheable resources, we can cache its resource's data at the string's creation time. This allows us to safely read the data from the background as we wouldn't trigger a data() callback.
> [objects] Cache the ExternalString's data in its resource > > For external uncached strings (also called "Small External Strings") > with cacheable resources, we can cache its resource's data at the > string's creation time. This allows us to safely read the data from the > background as we wouldn't trigger a data() callback. > > For more information regarding the investigation and possible proposals > see > https://docs.google.com/document/d/101eAQqFpBPWFGNJicxtdlwYShJkTOUsEuxkVVeu5Hrk/edit?usp=sharing > > Bug: v8:7790, v8:11463 > Change-Id: I6164092b01a6ccb525a9516f476e066b35fb1f96 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2685177 > Commit-Queue: Santiago Aboy Solanes <sol...@chromium.org> > Reviewed-by: Ulan Degenbaev <ul...@chromium.org> > Reviewed-by: Leszek Swirski <les...@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72862}
Reland "[objects] Cache the ExternalString's data in its resource"
This is a reland of ed225df70cc62b03942850ddd5493c365aff3157
Reland changes: removed #if DEBUG from v8.h since it had compile errors in chromium + windows. Also wasn't needed anyway since the method it was calling was just a DCHECK.
Original change's description: > [objects] Cache the ExternalString's data in its resource > > For external uncached strings (also called "Small External Strings") > with cacheable resources, we can cache its resource's data at the > string's creation time. This allows us to safely read the data from the > background as we wouldn't trigger a data() callback. > > For more information regarding the investigation and possible proposals > see > https://docs.google.com/document/d/101eAQqFpBPWFGNJicxtdlwYShJkTOUsEuxkVVeu5Hrk/edit?usp=sharing > > Bug: v8:7790, v8:11463 > Change-Id: I6164092b01a6ccb525a9516f476e066b35fb1f96 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2685177 > Commit-Queue: Santiago Aboy Solanes <sol...@chromium.org> > Reviewed-by: Ulan Degenbaev <ul...@chromium.org> > Reviewed-by: Leszek Swirski <les...@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72862}