- 25 Apr, 2019 1 commit
-
-
Tobias Tebbi authored
With very few exceptions, this verifies all skipped write-barriers in CSA and Torque, showing that the MemoryOptimizer together with some type information on the stored value are enough to avoid unsafe skipped write-barriers. Changes to CSA: SKIP_WRITE_BARRIER and Store*NoWriteBarrier are verified by the MemoryOptimizer by default. Type information about the stored values (TNode<Smi>) is exploited to safely skip write barriers for stored Smi values. In some cases, the code is re-structured to make it easier to consume for the MemoryOptimizer (manual branch and load elimination). Changes to the MemoryOptimizer: Improve the MemoryOptimizer to remove write barriers: - When the store happens to a CSA-generated InnerAllocate, by ignoring Bitcasts and additions. - When the stored value is the HeapConstant of an immortal immovable root. - When the stored value is a SmiConstant (recognized by BitcastToTaggedSigned). - Fast C-calls are treated as non-allocating. - Runtime calls can be white-listed as non-allocating. Remaining missing cases: - C++-style iterator loops with inner pointers. - Inner allocates that are reloaded from a field where they were just stored (for example an elements backing store). Load elimination would fix that. - Safe stored value types that cannot be expressed in CSA (e.g., Smi|Hole). We could handle that in Torque. - Double-aligned allocations, which are not lowered in the MemoryOptimizer but in CSA. Drive-by change: Avoid Smi suffix for StoreFixedArrayElement since this can be handled by overload resolution (in Torque and C++). R=jarin@chromium.org TBR=mvstanton@chromium.org Change-Id: I0af9b710673f350e0fe81c2e59f37da93c024b7c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1571414 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61016}
-
- 09 Apr, 2019 1 commit
-
-
Anton Bikineev authored
This change aims to simplify RawMachineAssembler::CallCFunction interface by use of variadic templates. Change-Id: Ie7081f692f62674f891f09abfd7149e8d95eeb81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526015 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60710}
-
- 01 Apr, 2019 1 commit
-
-
Sigurd Schneider authored
This is a reland of 6604f182 Original change's description: > [heap] Clean-up keys of oldspace weakmaps during scavenge > > This CL adds handling for cleaning up weakmap (EphemeronHashTable) > keys during scavenge, even if the weakmap resides in oldspace. > > Change-Id: If8d711c050ddbcae4dd6e8da549e0c0d08ba47b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523787 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60432} CQ_INCLUDE_TRYBOTS=luci.chrome.try:Mac Builder Perf Change-Id: Ie640f2b0340637a5391fb17ba3c9e6422eaf306a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541476 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60554}
-
- 26 Mar, 2019 1 commit
-
-
Sigurd Schneider authored
Together with the previous CL, this is a 10x improvement. Bug: v8:8834 Change-Id: I89b86ee88c82479997c08b725571369b1bf9d190 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539592 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60470}
-
- 25 Mar, 2019 2 commits
-
-
Sigurd Schneider authored
This reverts commit 6604f182. Bug: chromium:945341 Original change's description: > [heap] Clean-up keys of oldspace weakmaps during scavenge > > This CL adds handling for cleaning up weakmap (EphemeronHashTable) > keys during scavenge, even if the weakmap resides in oldspace. > > Change-Id: If8d711c050ddbcae4dd6e8da549e0c0d08ba47b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523787 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60432} TBR=ulan@chromium.org,jarin@chromium.org,sigurds@chromium.org,leszeks@chromium.org Change-Id: I9dd9b11990a262a457fd1bedc2b45b4a786a81f7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538133Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60447}
-
Sigurd Schneider authored
This CL adds handling for cleaning up weakmap (EphemeronHashTable) keys during scavenge, even if the weakmap resides in oldspace. Change-Id: If8d711c050ddbcae4dd6e8da549e0c0d08ba47b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523787 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60432}
-
- 08 Mar, 2019 1 commit
-
-
Z Duong Nguyen-Huu authored
This is the reland of https://chromium-review.googlesource.com/c/v8/v8/+/1495898 builtin_function_id corresponded to BuiltinFunctionId (a manually maintained list of 'interesting' functionsmainly used during optimization). With this change, we nuke builtin-function-id in favor of builtin-id and 8 bits is freed up in SFI. Bug: v8:6993 Change-Id: I7e1681cc2a95864c71ce8bdda075481310607166 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1506445Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60131}
-
- 04 Mar, 2019 2 commits
-
-
Yang Guo authored
This reverts commit f8a67670. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/25576 I don't think I've seen MSAN being flaky. Chances are that the change to SFI's object layout indeed left some field uninitialized. Original change's description: > Remove builtin-function-id in SFI > > builtin_function_id corresponded to BuiltinFunctionId (a manually maintained list of 'interesting' functionsmainly used during optimization). With this change, we nuke builtin-function-id in favor of builtin-id and 8 bits is freed up in SFI. > > Bug: v8:6993 > Change-Id: Iee9b539475bc6531c9aa65b1904d1402a9ef30db > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495898 > Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60017} TBR=ulan@chromium.org,jgruber@chromium.org,leszeks@chromium.org,bmeurer@chromium.org,duongn@microsoft.com Change-Id: Ic3964ce182ddbd7ef529ddb8b78b9bdfb1be7887 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6993 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1499500Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#60018}
-
Z Duong Nguyen-Huu authored
builtin_function_id corresponded to BuiltinFunctionId (a manually maintained list of 'interesting' functionsmainly used during optimization). With this change, we nuke builtin-function-id in favor of builtin-id and 8 bits is freed up in SFI. Bug: v8:6993 Change-Id: Iee9b539475bc6531c9aa65b1904d1402a9ef30db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495898 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60017}
-
- 21 Feb, 2019 3 commits
-
-
Tobias Tebbi authored
This is a reland of c3148664 Original change's description: > [csa] disable selected bounds checks for remaining regressions > > Bug: chromium:932919 > TBR: jarin@chromium.org > Change-Id: Id1125dcd2978f790af4cf00125bcbb94741d0bf8 > Reviewed-on: https://chromium-review.googlesource.com/c/1480387 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59773} Bug: chromium:932919 Change-Id: Ifb115ded2ff272abae4fba557ef669eee8e3c687 TBR: tebbi@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/1481746Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#59781}
-
Sathya Gunasekaran authored
This reverts commit c3148664. Reason for revert: speculative revert for MSAN failure https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/25398 Original change's description: > [csa] disable selected bounds checks for remaining regressions > > Bug: chromium:932919 > TBR: jarin@chromium.org > Change-Id: Id1125dcd2978f790af4cf00125bcbb94741d0bf8 > Reviewed-on: https://chromium-review.googlesource.com/c/1480387 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59773} TBR=jarin@chromium.org,jgruber@chromium.org,leszeks@chromium.org,tebbi@chromium.org Change-Id: Ib6cb825375725773db73f40ad3b65e084645b568 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:932919 Reviewed-on: https://chromium-review.googlesource.com/c/1480914Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#59777}
-
Tobias Tebbi authored
Bug: chromium:932919 TBR: jarin@chromium.org Change-Id: Id1125dcd2978f790af4cf00125bcbb94741d0bf8 Reviewed-on: https://chromium-review.googlesource.com/c/1480387 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#59773}
-
- 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}
-
- 19 Dec, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:8477, v8:8562 Change-Id: Iebb60551a461304539d943a080ce107eecf6fdbf Reviewed-on: https://chromium-review.googlesource.com/c/1384264Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58371}
-
- 06 Dec, 2018 1 commit
-
-
Sathya Gunasekaran authored
The prefix size is read from the Derived class. The hash code of the object will be stored in this prefix. Change-Id: I15646701c9bab99b8aed39ea9ad8ae03f6d605ed Bug: v8:6443, v8:7569 Reviewed-on: https://chromium-review.googlesource.com/c/1337586 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58058}
-
- 05 Dec, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I12aae5d61a21f3e6e010e07622fe0d01a5ba03eb Reviewed-on: https://chromium-review.googlesource.com/c/1344118 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#58052}
-
- 23 Nov, 2018 1 commit
-
-
Caitlin Potter authored
This is a reland of a5336471 Original change's description: > [builtins] Implement Object.fromEntries > > Adds the Object.fromEntries() method behind > --harmony-object-from-entries. > > > Includes an initial implementation of the new experimental builtin > Object.fromEntries implemented by Daniel Clifford, and > has been modified by Caitlin Potter to support a fast case to skip > the iterator protocol when it can be done unobservably in common cases. > > There are some incidental changes: A number of CSA macros have been > updated to use TNodes, and some Context arguments have been > re-arranged to be implicit in Torque. > > > There are also a number of mjsunit tests written mirroring and > expanding on the test262 tests. > > BUG=v8:8021 > > Change-Id: I1c12bee8a2f98c6297b77d5d723910a5e3b630cc > Co-authored-by: Daniel Clifford <danno@chromium.org> > Co-authored-by: Caitlin Potter <caitp@igalia.com> > Reviewed-on: https://chromium-review.googlesource.com/c/1337585 > Commit-Queue: Daniel Clifford <danno@chromium.org> > Reviewed-by: Daniel Clifford <danno@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57667} Bug: v8:8021 Change-Id: I706e2d87bfc2f688e833c1b7d40ca82f5d80f5a2 Reviewed-on: https://chromium-review.googlesource.com/c/1346630Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#57798}
-
- 21 Nov, 2018 2 commits
-
-
Clemens Hammacher authored
This reverts commit a5336471. Reason for revert: Fails nosnap debug tests: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20nosnap%20-%20debug/21838 Original change's description: > [builtins] Implement Object.fromEntries > > Adds the Object.fromEntries() method behind > --harmony-object-from-entries. > > > Includes an initial implementation of the new experimental builtin > Object.fromEntries implemented by Daniel Clifford, and > has been modified by Caitlin Potter to support a fast case to skip > the iterator protocol when it can be done unobservably in common cases. > > There are some incidental changes: A number of CSA macros have been > updated to use TNodes, and some Context arguments have been > re-arranged to be implicit in Torque. > > > There are also a number of mjsunit tests written mirroring and > expanding on the test262 tests. > > BUG=v8:8021 > > Change-Id: I1c12bee8a2f98c6297b77d5d723910a5e3b630cc > Co-authored-by: Daniel Clifford <danno@chromium.org> > Co-authored-by: Caitlin Potter <caitp@igalia.com> > Reviewed-on: https://chromium-review.googlesource.com/c/1337585 > Commit-Queue: Daniel Clifford <danno@chromium.org> > Reviewed-by: Daniel Clifford <danno@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57667} TBR=danno@chromium.org,caitp@igalia.com,tebbi@chromium.org Change-Id: Id0cd8b16131f151a42dffbaca7e59ab17c68ab23 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8021 Reviewed-on: https://chromium-review.googlesource.com/c/1346116Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57677}
-
Caitlin Potter authored
Adds the Object.fromEntries() method behind --harmony-object-from-entries. Includes an initial implementation of the new experimental builtin Object.fromEntries implemented by Daniel Clifford, and has been modified by Caitlin Potter to support a fast case to skip the iterator protocol when it can be done unobservably in common cases. There are some incidental changes: A number of CSA macros have been updated to use TNodes, and some Context arguments have been re-arranged to be implicit in Torque. There are also a number of mjsunit tests written mirroring and expanding on the test262 tests. BUG=v8:8021 Change-Id: I1c12bee8a2f98c6297b77d5d723910a5e3b630cc Co-authored-by: Daniel Clifford <danno@chromium.org> Co-authored-by: Caitlin Potter <caitp@igalia.com> Reviewed-on: https://chromium-review.googlesource.com/c/1337585 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57667}
-
- 20 Nov, 2018 1 commit
-
-
Tobias Tebbi authored
This enables more seamless interop between Torque and CSA: Since CodeStubAssembler can now inherit from the Torque base namespace, macros defined in the base namespace can be used in CodeStubAssembler macros, even without qualification. At the same time, macros in the base namespace can refer to CodeStubAssembler macros. The only new limitation is that types defined in code-stub-assembler.h cannot be referenced in the signature of macros defined in the base namespace, since this would produce a cyclic header dependency. A work-around for this woud be to put such types (like int31 in this CL) into a separate header included by both. I (mis-)used code-assembler.h for that. Another side-effec is that types and enums defined in CodeStubAssembler have to be accessed in a qualified way from Torque. Other assemblers can now inherit from their Torque equivalent, so porting macros into the corresponding Torque namespace doesn't require any change to the existing use-sites. To avoid C++ ambiguities, the Torque-generated assemblers must not define anything also defined in Code(Stub)Assembler. This includes the type aliases for TNode, PLabel, ... My workaround is to qualify everything in the generated C++. As a drive-by fix, I had to change the formatter to avoid a situation where it doesn't compute a fixed point: putting a keyword at the beginning of a line removes the '\s' in front of it, so I replaced that with '\b'. Bug: v8:7793 Change-Id: If3b9e9ad967a181b380a10d5673615606abd1041 Reviewed-on: https://chromium-review.googlesource.com/c/1341955Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57645}
-
- 19 Nov, 2018 1 commit
-
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: I4ce0008f56976102bad952ef2389f40845dcc15b Reviewed-on: https://chromium-review.googlesource.com/c/1340255Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57605}
-
- 15 Nov, 2018 1 commit
-
-
Daniel Clifford authored
Change-Id: I0652a75f6d1f6abfb40ba9bf35afeadfd4533336 Reviewed-on: https://chromium-review.googlesource.com/c/1328801 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57531}
-
- 14 Nov, 2018 1 commit
-
-
Sathya Gunasekaran authored
Now we can pass in the prefix size to OrderedHashTable directly from the Derived class and have it calculate the hash table start offset based on this. Bug: v8:6443, v8:7569 Change-Id: I80d54b65116e18f5a0cab18eb51649adad447cce Reviewed-on: https://chromium-review.googlesource.com/c/1333682 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#57499}
-
- 09 Nov, 2018 1 commit
-
-
Daniel Clifford authored
It sould take an exception argument to ensure the proper re-throw semantics. Change-Id: I36caba1a80c0d3f59c18dce5a58a0c1f0100657d Reviewed-on: https://chromium-review.googlesource.com/c/1328803 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57401}
-
- 06 Nov, 2018 1 commit
-
-
Jaroslav Sevcik authored
This introduces a utility function on code stub assembler to check that a map has given prototype object map. In addition, if constant field tracking is active, it will check that a given field is still constant (typically a function that is assumed not to be patched). This also fixes a fast path check in regexp C++ code to properly detect that "exec" function was modified on RegExp's prototype when constant field tracking is on. Bug: v8:5495, v8:8361 Change-Id: I98476db46ba4633124cf1437be90aea3585ce978 Reviewed-on: https://chromium-review.googlesource.com/c/1297954 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57290}
-
- 05 Nov, 2018 1 commit
-
-
Georg Neis authored
The fast paths for sets and maps did not support allocation in large object space, yet they were taken in these cases. This CL adds support, simply by passing the kAllowLargeObjectAllocation argument to AllocateJSArray. It also changes the fast path for strings to use this argument rather than take the slow path. Bug: v8:7980, v8:8410 Change-Id: I18e88cb4ceb7ebeca250edd8b8b0eb401fdbd6e4 Reviewed-on: https://chromium-review.googlesource.com/c/1317507 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57232}
-
- 31 Oct, 2018 1 commit
-
-
Daniel Clifford authored
This is preparation to support the Torque port of Object.fromEntries, including tests to make sure that the interface of the iterator functions is correct and compiles when used. Change-Id: I2a30ef80a80f42d4744a92746c8cd383abc10c19 Reviewed-on: https://chromium-review.googlesource.com/c/1303726 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57192}
-
- 26 Oct, 2018 1 commit
-
-
Jakob Gruber authored
Tbr: ishell@chromium.org Bug: v8:8238 Change-Id: I3fe3b821105d2ce58df717970085098f6336f937 Reviewed-on: https://chromium-review.googlesource.com/c/1301512Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57039}
-
- 24 Oct, 2018 1 commit
-
-
Jaroslav Sevcik authored
This makes the prototype add function check compatible with constant field tracking (which is still under a flag). Change-Id: I768feb55e1568f3e2642f573c9a79755fe3e8d9c Bug: v8:5495, v8:8361 Reviewed-on: https://chromium-review.googlesource.com/c/1296481Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#56926}
-
- 17 Oct, 2018 1 commit
-
-
Hai Dang authored
This CL extends IterableToListWithSymbolLookup with fast paths for spreading keys/values iterators of JSMap, and values iterator of JSSet (which is also the iterator of Set.prototype.keys() and Set.prototype[Symbol.iterator]()). The fast paths are only taken if the target still has original iteration behavior. For iterators it is also required that the iterator is not partially consumed. After spreading, to be spec-compliant, the iterator is exhausted. Tests are added. Bug: v8:7980 Change-Id: Ida74e5ecbbc5ba5488d13a40f2c4bda14c781cbf Reviewed-on: https://chromium-review.googlesource.com/c/1276632Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Hai Dang <dhai@google.com> Cr-Commit-Position: refs/heads/master@{#56716}
-
- 24 Sep, 2018 2 commits
-
-
Igor Sheludko authored
Bug: v8:8015 Change-Id: I1a423b356d09bdf46d49d69fb83cc24acabb6313 Reviewed-on: https://chromium-review.googlesource.com/1238550Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56174}
-
Yang Guo authored
R=petermarshall@chromium.org Change-Id: I2738b6ccf8b3c56b58554aa8dd626da5d2c3865d Reviewed-on: https://chromium-review.googlesource.com/1240137Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#56172}
-
- 20 Sep, 2018 3 commits
-
-
Yang Guo authored
We now clearly differentiate between: - unseeded hash for 32-bit integers - unseeded hash for 64-bit integers - seeded hash for 32-bit integers - seeded hash for strings R=bmeurer@chromium.org Bug: chromium:680662 Change-Id: I7459958c4158ee3501c962943dff8f33258bb5ce Reviewed-on: https://chromium-review.googlesource.com/1235973 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56068}
-
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}
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ibc5124e06f5774e7695029e2d21084a7efb965e6 Reviewed-on: https://chromium-review.googlesource.com/1224412 Commit-Queue: Florian Sattler <sattlerf@google.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#56065}
-
- 18 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2204967cff3e50d967a9c6f4685f0df5a6ba84af Reviewed-on: https://chromium-review.googlesource.com/1226793Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55976}
-
- 22 Aug, 2018 1 commit
-
-
Hai Dang authored
The conditions checked by the CSA IsFastJSArrayWithNoCustomIteration is actually stronger than that of the runtime IterableToListCanBeElided. In particular, while IterableToListCanBeElided only checks that the prototype has no element when the array is holey, IsFastJSArrayWithNoCustomIteration always requires that the prototype has no element. Bug: v8:7980 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I28b086428d79682392413fb4182923184d7c1836 Reviewed-on: https://chromium-review.googlesource.com/1183671 Commit-Queue: Hai Dang <dhai@google.com> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#55312}
-
- 13 Aug, 2018 1 commit
-
-
Tobias Tebbi authored
drive-by change: fix wrong typing in CSA. Change-Id: I9234306e8568a64157b44a86a58f09e65116b298 Reviewed-on: https://chromium-review.googlesource.com/1172583 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55093}
-
- 07 Aug, 2018 1 commit
-
-
Tobias Tebbi authored
This enables fast bounds checks on FixedArray's. Change-Id: I0ae57b2c6981d8e1b2c7017ba658fd9c890d2bad Reviewed-on: https://chromium-review.googlesource.com/1163614 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54946}
-
- 18 Jun, 2018 1 commit
-
-
Igor Sheludko authored
Now TFJ builtins can use their own descriptors so there's no need to keep the hacky BuiltinDescriptor around. Bug: v8:7754 Change-Id: Ia7f23a21fb979370fd2149fef13186b83a3d5d30 Reviewed-on: https://chromium-review.googlesource.com/1104428 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#53806}
-