- 10 Apr, 2019 3 commits
-
-
Mythri A authored
This is a reland of Ie3ac389e1c082d1671efd4d74abc076ce943301b with a fix for MSAN failures. Interrupt budget was store in bytecode array and used to be shared across all contexts. With lazy feedback allocation, using context independent interrupt budget might lead to performance cliffs when we have closures that do not share the same feedback (for ex: across contexts). This would be a problem even earlier but it could be more pronounced with feedback vector allocation, since the budgets for optimization is much higher (144x) than the budget for feedback allocation. Bug: chromium:948835, v8:8394 Change-Id: I74f998c30e27caf3bd34510f4d7f57b65e6c7f0d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561072Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#60750}
-
Michael Achenbach authored
This reverts commit f3994485. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/26128 Original change's description: > [interpreter] Move interrupt budget from BytecodeArray to FeedbackCell > > Interrupt budget was store in bytecode array and used to be shared > across all contexts. With lazy feedback allocation, using context > independent interrupt budget might lead to performance cliffs when > we have closures that do not share the same feedback (for ex: across > contexts). This would be a problem even earlier but it could be > more pronounced with feedback vector allocation, since the budgets > for optimization is much higher (144x) than the budget for feedback > allocation. > > Bug: chromium:948835, v8:8394 > Change-Id: Ie3ac389e1c082d1671efd4d74abc076ce943301b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1558088 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60734} TBR=jarin@chromium.org,mlippautz@chromium.org,mythria@chromium.org,jgruber@chromium.org,bmeurer@chromium.org Change-Id: Icbec4d28d6ac258827e222461cff51f2a2f42472 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:948835, v8:8394 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1560990Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60735}
-
Mythri A authored
Interrupt budget was store in bytecode array and used to be shared across all contexts. With lazy feedback allocation, using context independent interrupt budget might lead to performance cliffs when we have closures that do not share the same feedback (for ex: across contexts). This would be a problem even earlier but it could be more pronounced with feedback vector allocation, since the budgets for optimization is much higher (144x) than the budget for feedback allocation. Bug: chromium:948835, v8:8394 Change-Id: Ie3ac389e1c082d1671efd4d74abc076ce943301b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1558088 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60734}
-
- 03 Apr, 2019 2 commits
-
-
Adithya Srinivasan authored
This reverts commit 42beed97. Reason for revert: This commit seems to cause consistent failures in some ProcessMemoryMetricsEmitterTest tests on Mac and ChromeOS. I'm not sure what the exact reasoning behind this is. See https://crbug.com/949157. Original change's description: > Reland "[ptr-compr][x64] Temporarily enable pointer compression on x64" > > This is a reland of 4f051fd5 > > Relanding after fixing Chromium issues. > > Original change's description: > > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > > > ... and make sure that the x64 ptr-compr bots proceed testing V8 without > > pointer compression in order to keep testing the full pointer mode. > > > > Bug: v8:7703 > > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel > > Change-Id: Iee725deda813425a6f0722948b54976154f50909 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139 > > Reviewed-by: Michael Hablich <hablich@chromium.org> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#60230} > > Bug: v8:7703 > Change-Id: Ic2d1c2ae41ec645f34963f5f561c33199c72ef4b > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel > Cq-Include-Trybots: luci.chromium.try:fuchsia_x64,linux-rel > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535819 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60582} TBR=machenbach@chromium.org,hablich@chromium.org,leszeks@chromium.org,ishell@chromium.org,verwaest@chromium.org Change-Id: Ib9737081e90dddcfe44af9da1275a610da209323 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1550709 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#60618}
-
Igor Sheludko authored
This is a reland of 4f051fd5 Relanding after fixing Chromium issues. Original change's description: > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > ... and make sure that the x64 ptr-compr bots proceed testing V8 without > pointer compression in order to keep testing the full pointer mode. > > Bug: v8:7703 > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel > Change-Id: Iee725deda813425a6f0722948b54976154f50909 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139 > Reviewed-by: Michael Hablich <hablich@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60230} Bug: v8:7703 Change-Id: Ic2d1c2ae41ec645f34963f5f561c33199c72ef4b Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel Cq-Include-Trybots: luci.chromium.try:fuchsia_x64,linux-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535819 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60582}
-
- 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 Achenbach authored
This reverts commit 7b896836. Reason for revert: Lots of test failures on current roll: https://chromium-review.googlesource.com/c/chromium/src/+/1534141 Original change's description: > Reland "[ptr-compr][x64] Temporarily enable pointer compression on x64" > > This is a reland of 4f051fd5 > > Relanding because last revert was caused by unrelated flakes. > > Original change's description: > > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > > > ... and make sure that the x64 ptr-compr bots proceed testing V8 without > > pointer compression in order to keep testing the full pointer mode. > > > > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel > > Bug: v8:7703 > > Change-Id: Ied4e7bacf99c9d63e0459613fec522273f595de8 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523327 > > Commit-Queue: Igor Sheludko <ishell@chromium.org> > > Auto-Submit: Leszek Swirski <leszeks@chromium.org> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#60339} > > Bug: v8:7703 > Change-Id: I9c588de77070d4fbf1bb1a21ae58c398a22eed9c > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng, v8_linux64_tsan_rel, v8_mac64_gc_stress_dbg > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530819 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60370} TBR=machenbach@chromium.org,ishell@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7703 Change-Id: I1c037470b5895c4269c9574e6c93d0eed6fe90d5 Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng, v8_linux64_tsan_rel, v8_mac64_gc_stress_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1533867Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60397}
-
- 20 Mar, 2019 1 commit
-
-
Igor Sheludko authored
This is a reland of 4f051fd5 Relanding because last revert was caused by unrelated flakes. Original change's description: > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > ... and make sure that the x64 ptr-compr bots proceed testing V8 without > pointer compression in order to keep testing the full pointer mode. > > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel > Bug: v8:7703 > Change-Id: Ied4e7bacf99c9d63e0459613fec522273f595de8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523327 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Auto-Submit: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60339} Bug: v8:7703 Change-Id: I9c588de77070d4fbf1bb1a21ae58c398a22eed9c Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng, v8_linux64_tsan_rel, v8_mac64_gc_stress_dbg Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530819 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60370}
-
- 19 Mar, 2019 3 commits
-
-
Deepti Gandluri authored
This reverts commit 4f051fd5. Reason for revert: Fails with custom snapshot on GC stress - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/24855 Original change's description: > Reland "[ptr-compr][x64] Temporarily enable pointer compression on x64" > > This is a reland of 589d1a6b > > Relanding after fixing TSan and UBSan issues. > > Original change's description: > > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > > > ... and make sure that the x64 ptr-compr bots proceed testing V8 without > > pointer compression in order to keep testing the full pointer mode. > > > > Bug: v8:7703 > > Change-Id: Iee725deda813425a6f0722948b54976154f50909 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139 > > Reviewed-by: Michael Hablich <hablich@chromium.org> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#60230} > > Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel > Bug: v8:7703 > Change-Id: Ied4e7bacf99c9d63e0459613fec522273f595de8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523327 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Auto-Submit: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60339} TBR=machenbach@chromium.org,hablich@chromium.org,leszeks@chromium.org,ishell@chromium.org,verwaest@chromium.org Change-Id: Ia06829e9dfdf09501ceebc0eef175d3261969d1f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7703 Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng, v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1531120Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#60340}
-
Igor Sheludko authored
This is a reland of 589d1a6b Relanding after fixing TSan and UBSan issues. Original change's description: > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > ... and make sure that the x64 ptr-compr bots proceed testing V8 without > pointer compression in order to keep testing the full pointer mode. > > Bug: v8:7703 > Change-Id: Iee725deda813425a6f0722948b54976154f50909 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139 > Reviewed-by: Michael Hablich <hablich@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60230} Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng,v8_linux64_tsan_rel Bug: v8:7703 Change-Id: Ied4e7bacf99c9d63e0459613fec522273f595de8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523327 Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60339}
-
Benedikt Meurer authored
This change significantly improves the performance of string concatenation in optimized code for the case where the resulting string is represented as a ConsString. On the relevant test cases we go from serializeNaive: 10762 ms. serializeClever: 7813 ms. serializeConcat: 10271 ms. to serializeNaive: 10278 ms. serializeClever: 5533 ms. serializeConcat: 10310 ms. which represents a 30% improvement on the "clever" benchmark, which tests specifically the ConsString creation performance. This was accomplished via a couple of different steps, which are briefly outlined here: 1. The empty_string gets its own map, so that we can easily recognize and handle it appropriately in the TurboFan type system. This allows us to express (and assert) that the inputs to NewConsString are non-empty strings, making sure that TurboFan no longer creates "crippled ConsStrings" with empty left or right hand sides. 2. Further split the existing String types in TurboFan to be able to distinguish between OneByte and TwoByte strings on the type system level. This allows us to avoid having to dynamically lookup the resulting ConsString map in case of ConsString creation (i.e. when we know that both input strings are OneByte strings or at least one of the input strings is TwoByte). 3. We also introduced more finegrained feedback for the Add bytecode in the interpreter, having it collect feedback about ConsStrings, specifically ConsOneByteString and ConsTwoByteString. This feedback can be used by TurboFan to only inline the relevant code for what was seen so far. This allows us to remove the Octane/Splay specific magic in JSTypedLowering to detect ConsString creation, and instead purely rely on the feedback of what was seen so far (also making it possible to change the semantics of NewConsString to be a low-level operator, which is only introduced in SimplifiedLowering by looking at the input types of StringConcat). 4. On top of the before mentioned type and interpreter changes we added new operators CheckNonEmptyString, CheckNonEmptyOneByteString, and CheckNonEmptyTwoByteString, which perform the appropriate (dynamic) checks. There are several more improvements that are possible based on this, but since the change was already quite big, we decided not to put everything into the first change, but do some follow up tweaks to the type system, and builtin optimizations later. Tbr: mstarzinger@chromium.org Bug: v8:8834, v8:8931, v8:8939, v8:8951 Change-Id: Ia24e17c6048bf2b04df966d3cd441f0edda05c93 Cq-Include-Trybots: luci.chromium.try:linux-blink-rel Doc: https://bit.ly/fast-string-concatenation-in-javascript Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1499497 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60318}
-
- 18 Mar, 2019 2 commits
-
-
Ulan Degenbaev authored
This reverts commit 8f1c985c. Reason for revert: breaks mkgrokdump Original change's description: > [heap] Reduce page size to 256KB > > The page size of PPC is kept unchanged because PPC has larger > physical pages (64KB). > > Bug: chromium:852420 > > Change-Id: Ib888ea00a476ff103e00211dbb439186148ef81e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1481631 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Junliang Yan <jyan@ca.ibm.com> > Cr-Commit-Position: refs/heads/master@{#60296} TBR=ulan@chromium.org,hpayer@chromium.org,jyan@ca.ibm.com Change-Id: I16175bea8845ac5d16dd43af1add4f2d9e94debc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:852420 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528247Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60298}
-
Ulan Degenbaev authored
The page size of PPC is kept unchanged because PPC has larger physical pages (64KB). Bug: chromium:852420 Change-Id: Ib888ea00a476ff103e00211dbb439186148ef81e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1481631 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60296}
-
- 14 Mar, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit 589d1a6b. Reason for revert: Breaking UBSan - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/5219 Original change's description: > [ptr-compr][x64] Temporarily enable pointer compression on x64 > > ... and make sure that the x64 ptr-compr bots proceed testing V8 without > pointer compression in order to keep testing the full pointer mode. > > Bug: v8:7703 > Change-Id: Iee725deda813425a6f0722948b54976154f50909 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139 > Reviewed-by: Michael Hablich <hablich@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60230} TBR=machenbach@chromium.org,hablich@chromium.org,ishell@chromium.org,verwaest@chromium.org Change-Id: I5a9f04acba1ef23ae944d97a029ea018808c7fcb No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522991Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#60231}
-
Igor Sheludko authored
... and make sure that the x64 ptr-compr bots proceed testing V8 without pointer compression in order to keep testing the full pointer mode. Bug: v8:7703 Change-Id: Iee725deda813425a6f0722948b54976154f50909 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1497139Reviewed-by:
Michael Hablich <hablich@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#60230}
-
- 12 Mar, 2019 1 commit
-
-
Mythri authored
We want to allocate feedback vectors lazily in lite mode. To do that, we should create closures with the correct feedback cell. This cl allocates feedback cell arrays to hold these feedback cells in lite mode. This cl also modifies the compile lazy to builtin to expect these arrays in the feedback cell. Drive-by fix: InterpreterEntryTrampoline no longer has argument count in a register. So updated comments and removed unnecessary push/pop of this register. Bug: v8:8394 Change-Id: I10d8ca67cebce61a284f0c80b200e1f0c24577a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511274Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#60189}
-
- 11 Mar, 2019 1 commit
-
-
Frank Tang authored
Bug: v8:7684 Change-Id: Id27d6c9d011c6093b89c11edca71fbc6e5d9a0fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514192 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#60174}
-
- 04 Mar, 2019 2 commits
-
-
Georg Neis authored
... by skipping over them. Such variables appear in the case of direct namespace exports and default exports. (Actually, the name used for default exports used to be "*default*" which is not recognized as synthetic, so I'm renaming it here to ".default"). Bug: chromium:932111 Change-Id: I0554dae9614334fdc02e78606f2db47e92196429 Reviewed-on: https://chromium-review.googlesource.com/c/1494010 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#60012}
-
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}
-
- 01 Mar, 2019 1 commit
-
-
Sathya Gunasekaran authored
I thought about potentially adding the identifer ref to the error but that would require allocating a new string or at the very least increasing the size of the resulting cons string. Given that the parser is pretty performance sensitive, I've decided to not display the identifier. Previously, the error was: _test.js:3: Error a[foo].c = () => { throw Error(); }; ^ Error at a.(anonymous function).c (_test.js:3:26) at _test.js:5:1 With this patch, the error becomes: _test.js:3: Error a[foo].c = () => { throw Error(); }; ^ Error at a.<computed>.c (_test.js:3:26) at _test.js:5:1 Bug: v8:8823 Change-Id: I557b3517e317652c447ca06c5a400e9625353d9b Reviewed-on: https://chromium-review.googlesource.com/c/1495017 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59985}
-
- 14 Feb, 2019 1 commit
-
-
Mathias Bynens authored
It shipped in Chrome 70. Bug: v8:7807, v8:8562 Change-Id: I5c5a9fc23656018ee6e9115af7a0c779230e681b Reviewed-on: https://chromium-review.googlesource.com/c/1450787 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#59589}
-
- 13 Feb, 2019 1 commit
-
-
Simon Zünd authored
The StackTraceFrame object will be used in a future CL to replace StackFrameInfo as the object returned by the inspector API, as well as the object used in the stack_frame_cache. The object itself is a simple wrapper around a reference to a FrameArray plus an index, as well as a reference to a StackFrameInfo object that will get lazily initialized. This is the first step towards unifying stack trace representation and collection. R=jgruber@chromium.org Bug: v8:8742 Change-Id: Iefc7d734fd274ffd164ddf6f43c226531aa26d4c Reviewed-on: https://chromium-review.googlesource.com/c/1458017 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59544}
-
- 06 Feb, 2019 1 commit
-
-
Yang Guo authored
This reverts commit b1eb340d. Bug: v8:8761 Change-Id: Icd952e16e85a7beb07874cb8979eec4cf1991a14 Reviewed-on: https://chromium-review.googlesource.com/c/1454922Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59391}
-
- 01 Feb, 2019 3 commits
-
-
Michael Starzinger authored
This reverts commit a1b431d7. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20nosnap%20-%20debug/22809 Original change's description: > [serializer] share class positions tuple across contexts > > Class positions is a struct that stores the start and end positions of a class > literal. It is stored both on class objects, and the template used to > instantiate class objects. > > The template is reachable from the bytecode array and therefore serialized by > the startup serializer. Class objects are context-dependent and therefore > serialized by the partial serializer. Serializing class positions from both > serializers violates the assumption that we don't serialize any object twice. > > R=gsathya@chromium.org > > Bug: v8:8761 > Change-Id: If22c554cc7396d63998a015454ce0c67a7d2e05c > Reviewed-on: https://chromium-review.googlesource.com/c/1444956 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59292} TBR=yangguo@chromium.org,mstarzinger@chromium.org,gsathya@chromium.org Change-Id: I9f3fd1b29b5991b450223f8b27dfc7aa7e5a3171 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8761 Reviewed-on: https://chromium-review.googlesource.com/c/1450116Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59300}
-
Yang Guo authored
Class positions is a struct that stores the start and end positions of a class literal. It is stored both on class objects, and the template used to instantiate class objects. The template is reachable from the bytecode array and therefore serialized by the startup serializer. Class objects are context-dependent and therefore serialized by the partial serializer. Serializing class positions from both serializers violates the assumption that we don't serialize any object twice. R=gsathya@chromium.org Bug: v8:8761 Change-Id: If22c554cc7396d63998a015454ce0c67a7d2e05c Reviewed-on: https://chromium-review.googlesource.com/c/1444956Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59292}
-
Frank Tang authored
See https://github.com/tc39/proposal-intl-datetime-style Design Doc: https://goo.gl/v7n7zV Bug: v8:8702 Change-Id: If45a901e369003ded6c0c690a65f0429800d5ecc Reviewed-on: https://chromium-review.googlesource.com/c/1417372 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#59264}
-
- 30 Jan, 2019 1 commit
-
-
Marja Hölttä authored
This replaces WeakFactory with FinalizationGroup. New API is here: https://weakrefs.netlify.com/ BUG=v8:8179 Change-Id: I8c1c4a70deb42581d17117423dd29d93bdd35cb0 Reviewed-on: https://chromium-review.googlesource.com/c/1435938Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#59204}
-
- 23 Jan, 2019 1 commit
-
-
Frank Tang authored
Sync w/ https://github.com/tc39/proposal-intl-segmenter/pull/60 Bug: v8:8717 Change-Id: I98fe9e88367a611c14c82195222c8fe8a52e4bc8 Reviewed-on: https://chromium-review.googlesource.com/c/1422749Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#59016}
-
- 17 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
This is a reland of fd49c8bb Original change's description: > [heap] Optimize MemoryChunk::FromAnyPointerAddress > > Currently this function requires the caller to hold a mutex for the > large page chunk hashtable and performs a hashtable lookup. > > This patch adds a header sentinel field in each MemoryChunk. The field > is then used to distinguish large object slots from ordinary slots. > > Bug: chromium:915233 > Change-Id: I9fbeeb4f07f49573d0a21f9a2cc934370e417d68 > Reviewed-on: https://chromium-review.googlesource.com/c/1391752 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58732} Bug: chromium:915233 Change-Id: I10d23a928328169a2dc6bab78d2b7d2c5d00ebb6 Reviewed-on: https://chromium-review.googlesource.com/c/1406672 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58876}
-
- 11 Jan, 2019 3 commits
-
-
Camillo Bruni authored
Drive-by-fix: - Add several iterator instance types to user objects - Add JSProxy instance type to user objects - Rename *PRE_PARSED_SCOPE* to *PREPARSE_DATA* Change-Id: Ia1304871c91bb4e7e46ae0aef6084ded985b9a9f Reviewed-on: https://chromium-review.googlesource.com/c/1405040Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#58745}
-
Michael Achenbach authored
This reverts commit fd49c8bb. Reason for revert: Speculative revert for: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/24672 Original change's description: > [heap] Optimize MemoryChunk::FromAnyPointerAddress > > Currently this function requires the caller to hold a mutex for the > large page chunk hashtable and performs a hashtable lookup. > > This patch adds a header sentinel field in each MemoryChunk. The field > is then used to distinguish large object slots from ordinary slots. > > Bug: chromium:915233 > Change-Id: I9fbeeb4f07f49573d0a21f9a2cc934370e417d68 > Reviewed-on: https://chromium-review.googlesource.com/c/1391752 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58732} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I232729fdfd55baef7de99ea2fd14fbc0a2f71d27 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:915233 Reviewed-on: https://chromium-review.googlesource.com/c/1406671Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58738}
-
Ulan Degenbaev authored
Currently this function requires the caller to hold a mutex for the large page chunk hashtable and performs a hashtable lookup. This patch adds a header sentinel field in each MemoryChunk. The field is then used to distinguish large object slots from ordinary slots. Bug: chromium:915233 Change-Id: I9fbeeb4f07f49573d0a21f9a2cc934370e417d68 Reviewed-on: https://chromium-review.googlesource.com/c/1391752 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58732}
-
- 07 Jan, 2019 1 commit
-
-
Camillo Bruni authored
We plan to store additional information that is not related to scopes. The new name will reflect this fact better. Change-Id: I4ddb1017bc255e6ad271e4448848ed630f367d5b Reviewed-on: https://chromium-review.googlesource.com/c/1388538 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58591}
-
- 19 Dec, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:8477, v8:8562 Change-Id: Iaa995c8fbb9f309dadac4e308d727f628fdb8b3c Reviewed-on: https://chromium-review.googlesource.com/c/1384314Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58379}
-
- 11 Dec, 2018 1 commit
-
-
Ben L. Titzer authored
This is purely a renaming change. The ES spec uses the term 'detach' for the process of removing the backing store of a typed array, while V8 uses the historical term 'neuter'. Update our internal implementation, including method names and flag names, to match the spec. Note that some error messages still use the term 'neuter' since error messages are asserted by some embedder tests, like layout tests. R=bmeurer@chromium.org, yangguo@chromium.org, mstarzinger@chromium.org, mlippautz@chromium.org BUG=chromium:913887 Change-Id: I62f1c3ac9ae67ba01d612a5221afa3d92deae272 Reviewed-on: https://chromium-review.googlesource.com/c/1370036 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58149}
-
- 29 Nov, 2018 1 commit
-
-
Michael Starzinger authored
This introduces a dedicated instance type for exception tags. The main motivation is to reduce their footprint and getting rid of a temporary workaround that used the {JSObject} type for this purpose. R=clemensh@chromium.org BUG=v8:8091 Change-Id: Id5678bce513f2ac086c7380bd803011b11d5050e Reviewed-on: https://chromium-review.googlesource.com/c/1354464Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57943}
-
- 27 Nov, 2018 1 commit
-
-
Yang Guo authored
This is an attempt to reland https://crrev.com/1d726111ab7087a5, that was reverted at https://crrev.com/0a820125230bec24. Tbr: bmeurer@chromium.org Bug: chromium:887920, v8:7253 Change-Id: I785417de7d0560b93bda5ade623fa5be3647d7dd Reviewed-on: https://chromium-review.googlesource.com/c/1350530 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#57865}
-
- 26 Nov, 2018 1 commit
-
-
Ulan Degenbaev authored
This patch gives DescriptorArray its own visitor id and its own layout that is independent from the layout of WeakFixedArray. This allows us to use raw 16-bit integers for keeping track of the number of descriptors (total, non-slack, and marked). As a side-effect, we save one word per descriptor array on 64-bit. v8:8486 Change-Id: If8389dde446319e5b3491abc948b52539dba235c Reviewed-on: https://chromium-review.googlesource.com/c/1349245 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57845}
-
- 22 Nov, 2018 2 commits
-
-
Dan Elphick authored
Adds a new field rare_data of type FunctionTemplateRareData to FunctionTemplateInfo and moves 8 others which are unset on 90% of FunctionTemplateInfo objects to this field. Getters like prototype_template() are changed to GetPrototypeTemplate() to indicate they're not trivial. The setters are replaced with static methods (e.g. SetPrototypeTemplate) that take an Isolate and the template object, since they can now perform allocation. Bug: v8:8478 Change-Id: If72b132ade4ca4a3f803f913761c9caddc0e9dd6 Reviewed-on: https://chromium-review.googlesource.com/c/1342519 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57725}
-
Yang Guo authored
This reverts commit 1d726111. Reason for revert: This breaks a layout test, and blocks V8 roll https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win7_chromium_rel_ng/135831 Original change's description: > Implement Faster MicrotaskQueue Step 2 > > This is an implementation of https://bit.ly/v8-faster-microtask-queues > step 2. > > This CL overhauls MicrotaskQueue class, the previous one is on V8 heap, > and the new one is on C++ heap. > > Benchmark: > This CL improves a benchmark score around promise by 5~23%. > https://github.com/v8/promise-performance-tests > https://docs.google.com/spreadsheets/d/1HtwZGzUAGJYg87VmYhV9hLdvfddlCtC6Oz0iOj-WwQA/edit#gid=1952666737 > > Bug: chromium:887920, v8:7253 > Change-Id: I1f26e02c45ae60ae39d1ccc168daa98bca4663d9 > Reviewed-on: https://chromium-review.googlesource.com/c/1290751 > Commit-Queue: Taiju Tsuiki <tzik@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57681} TBR=ulan@chromium.org,adamk@chromium.org,yangguo@chromium.org,ishell@chromium.org,bmeurer@chromium.org,tzik@chromium.org Change-Id: I639882a95fe63c029a2e53d610dc4133d1ac48f2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:887920, v8:7253 Reviewed-on: https://chromium-review.googlesource.com/c/1347473 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#57711}
-